Codeforces Round 216 (Div. 2) |
---|
Закончено |
Валера — ленивый студент. У него дома имеются m чистых глубоких тарелок и k чистых плоских тарелок.
Валера распланировал, что он будет кушать ближайшие n дней. Поскольку Валера ленив, каждый день он будет есть ровно одно блюдо. При этом, чтобы съесть блюдо, ему нужна ровно одна чистая тарелка. Известно, что Валера умеет готовить всего два типа блюд. Блюда первого типа можно есть только из глубоких тарелок, а блюда второго типа можно есть и из глубоких тарелок, и из плоских тарелок.
Когда Валера поест, тарелка, из которой он ел, становится грязной. Убеждения Валеры не позволяют ему есть из грязных тарелок, поэтому иногда перед едой ему нужно будет помыть тарелку. Определите, какое минимальное количество раз Валере потребуется помыть тарелку, если он будет действовать оптимально.
В первой строке входных данных задано три целых числа n, m, k (1 ≤ n, m, k ≤ 1000) — количество распланированных дней, количество чистых глубоких тарелок и количество чистых плоских тарелок.
Во второй строке заданы n целых чисел a1, a2, ..., an (1 ≤ ai ≤ 2). Если ai равно единице, то в день i Валера будет есть блюдо первого типа. Если ai равно двум, то в день i Валера будет есть блюдо второго типа.
Выведите единственное целое число — какое минимальное количество раз Валере потребуется помыть тарелку.
3 1 1
1 2 1
1
4 3 1
1 1 1 1
1
3 1 2
2 2 2
0
8 2 2
1 2 1 2 1 2 1 2
4
В первом примере Валера будет мыть глубокую тарелку только в третий день, поэтому ответ равен единице.
Во втором примере все четыре дня Валера будет есть блюда первого типа, а поскольку глубоких тарелок всего три, то он будет мыть тарелку ровно один раз.
В третьем примере все три дня Валера будет есть блюда второго типа, а поскольку их можно есть из тарелок обоих типов, то мыть тарелку не потребуется ни разу.
Название |
---|