晚餐队列安排

Posted peppa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了晚餐队列安排相关的知识,希望对你有一定的参考价值。

 

传送门:https://www.luogu.org/problemnew/show/P2837#sub

#include<cstdio>
#include<algorithm>
using namespace std;
inline int read()
{
    static char ch;
    while((ch = getchar()) < 0 || ch > 9);
    int ret = ch - 48;
    while((ch = getchar()) >= 0 && ch <= 9)
        ret = ret * 10 + ch - 48;
    return ret;
}
int n,a[30010],ans;
struct node
{
    int one,two;
}t[30010];
int main()
{
    n = read();
    for(int i = 1;i <= n;i++)
    {
        a[i] = read();
        if(a[i] == 1)
        {
            t[i].one = t[i-1].one + 1;
            t[i].two = t[i-1].two;
        }
        else
        {
            t[i].two = t[i-1].two + 1;
            t[i].one = t[i-1].one;
        }
    }
    ans = min(t[n].one,t[n].two);
    for(int i = 1;i <= n;i++)
        ans = min(ans,t[n].one - t[i].one + t[i].two);
    printf("%d",ans);
    return 0;
}

 

以上是关于晚餐队列安排的主要内容,如果未能解决你的问题,请参考以下文章

题解晚餐队列安排

P2837 晚餐队列安排

LJ 5月6日A组考试考试题解

# Java 常用代码片段

# Java 常用代码片段

代码随想录算法训练营第10天 | ● 理论基础 ● 232.用栈实现队列 ● 225. 用队列实现栈