您的位置:首页 > 其它

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
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: