天天看點

Codeforces Round #423-水-A. Restaurant Tables

http://codeforces.com/contest/828/problem/A

給定m個 一人座位和n個二人座位。

政策是 當1人來了,如果有1人座位,給他,不然給他空着的二人座位,不然給他有一個人的二人座位。否則拒絕服務

兩個人來了,如果有2人座位給他, 否則拒絕服務

人按輸入順序來了

問多少人拒絕服務。。

開始題意沒了解。。。wa了兩次。

#include <bits/stdc++.h>
using namespace std;
int main()
{   int t,m,n;
    int a;
    scanf("%d%d%d",&t,&m,&n);
        int sum=;
        int  flag=;
    for(int i=;i<t;i++){
        scanf("%d",&a);
        if(a==){
           if(m!=) m--;
           else if(m==&&n!=){
                if(flag<n)
                  flag++;
                else{
                    flag--;
                    n--;
                    }
                }
           else if(!m&&!n)
                sum++;
        }
         if(a==){
            if(!n||(n==flag)) sum+=;
            else n--;
         }
    }
    printf("%d\n",sum);
    return ;
}