#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair i_i; typedef pair ll_i; typedef pair d_i; typedef pair ll_ll; typedef pair d_d; struct edge { ll B, T, F, P; }; unsigned MOD = 1000000007; ll _MOD = 1000000009; double EPS = 1e-10; int UNKO = INT_MAX; int main() { int N, M; cin >> N >> M; priority_queue, greater > pq; for (int i = 0; i < N; i++) { int C; cin >> C; pq.push(C); } while (M--) { int x = pq.top(); pq.pop(); if (x - 1) pq.push(x - 1); } cout << N - pq.size() << endl; }