Codeforces Round #423-水-A. Restaurant Tables

来源:互联网 发布:挣钱软件排名第一 编辑:程序博客网 时间:2024/05/03 15:08

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=0;        int  flag=0;    for(int i=0;i<t;i++){        scanf("%d",&a);        if(a==1){           if(m!=0) m--;           else if(m==0&&n!=0){                if(flag<n)                  flag++;                else{                    flag--;                    n--;                    }                }           else if(!m&&!n)                sum++;        }         if(a==2){            if(!n||(n==flag)) sum+=2;            else n--;         }    }    printf("%d\n",sum);    return 0;}
原创粉丝点击