CodeForces 369A
2016-01-15 17:04
375 查看
Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d
& %I64u
Description
Valera is a lazy student. He has m clean bowls andk clean plates.
Valera has made an eating plan for the next n days. As Valera is lazy, he will eat exactly one dish per day. At that, in order to eat a dish, he needs exactly oneclean plate or
bowl. We know that Valera can cook only two types of dishes. He can eat dishes of the first type from bowls and dishes of the second type from either bowls or plates.
When Valera finishes eating, he leaves a dirty plate/bowl behind. His life philosophy doesn't let him eat from dirty kitchenware. So sometimes he needs to wash his plate/bowlbefore eating. Find the minimum number of
times Valera will need to wash a plate/bowl, if he acts optimally.
Input
The first line of the input contains three integers n,m,k (1 ≤ n, m, k ≤ 1000) —
the number of the planned days, the number of clean bowls and the number of clean plates.
The second line contains n integers
a1, a2, ..., an (1 ≤ ai ≤ 2). Ifai
equals one, then on dayi Valera will eat a first type dish. Ifai equals two, then on dayi Valera will
eat a second type dish.
Output
Print a single integer — the minimum number of times Valera will need to wash a plate/bowl.
Sample Input
Input
Output
Input
Output
Input
Output
Input
Output
Hint
In the first sample Valera will wash a bowl only on the third day, so the answer is one.
In the second sample, Valera will have the first type of the dish during all four days, and since there are only three bowls, he will wash a bowl exactly once.
In the third sample, Valera will have the second type of dish for all three days, and as they can be eaten from either a plate or a bowl, he will never need to wash a plate/bowl.
& %I64u
Description
Valera is a lazy student. He has m clean bowls andk clean plates.
Valera has made an eating plan for the next n days. As Valera is lazy, he will eat exactly one dish per day. At that, in order to eat a dish, he needs exactly oneclean plate or
bowl. We know that Valera can cook only two types of dishes. He can eat dishes of the first type from bowls and dishes of the second type from either bowls or plates.
When Valera finishes eating, he leaves a dirty plate/bowl behind. His life philosophy doesn't let him eat from dirty kitchenware. So sometimes he needs to wash his plate/bowlbefore eating. Find the minimum number of
times Valera will need to wash a plate/bowl, if he acts optimally.
Input
The first line of the input contains three integers n,m,k (1 ≤ n, m, k ≤ 1000) —
the number of the planned days, the number of clean bowls and the number of clean plates.
The second line contains n integers
a1, a2, ..., an (1 ≤ ai ≤ 2). Ifai
equals one, then on dayi Valera will eat a first type dish. Ifai equals two, then on dayi Valera will
eat a second type dish.
Output
Print a single integer — the minimum number of times Valera will need to wash a plate/bowl.
Sample Input
Input
3 1 1 1 2 1
Output
1
Input
4 3 11 1 1 1
Output
1
Input
3 1 2 2 2 2
Output
0
Input
8 2 2 1 2 1 2 1 2 1 2
Output
4
Hint
In the first sample Valera will wash a bowl only on the third day, so the answer is one.
In the second sample, Valera will have the first type of the dish during all four days, and since there are only three bowls, he will wash a bowl exactly once.
In the third sample, Valera will have the second type of dish for all three days, and as they can be eaten from either a plate or a bowl, he will never need to wash a plate/bowl.
#include<iostream> #include<stdio.h> using namespace std; int main() { int n,m,k,i,a[1111],ans=0; cin>>n>>m>>k; for(i=0;i<n;i++) { cin>>a[i]; } for(i=0;i<n;i++) { if(a[i]==1) { if(m==0) { ans++; } else { m--; } } else if(a[i]==2) { if(m==0 &&k==0) { ans++; } else { if(k!=0) { k--; } else { m--; } } } } cout<<ans<<endl; return 0; }
相关文章推荐
- 多方法批量删除Android中无用的资源(更新Android Studio2.1工具)
- Python字符串的encode与decode研究心得乱码问题解决方法(很多的编码问题都可以从此得出答案)
- proc/<pid>/maps文件格式
- Objective-C属性特性
- Ubuntu搭建Android源码编译环境
- Android如何设置TextView的行间距、行高。
- ssh2项目之自己想的购物网站
- (转)Linux makefile 教程 非常详细,且易懂
- FTP断点续传
- HDU 1995 汉诺塔V && HDU 1996 汉诺塔VI &&HDU 2077 汉诺塔IV【快速幂】
- Web测试工具 http_load 一个httpd 压力测试工具
- 仿美团网,大众点评购买框悬浮效果之修改版
- extjs入门-1
- [Computer and Network Security] Applied Cryptography
- Android Studio 用法
- linux查看系统编码和修改系统编码的方法
- 【剑指offer】6.3知识迁移能力——面试题38:数字在排序数组中出现的次数
- 解读断点续传的基本原理
- .net4.0切换2.0时,SplitContainer”的对象强制转换为类型
- QQ浏览器X5内核问题汇总