#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define lsb(x) (x & (-x))
using namespace std;
const ll INF = 2e18;
int main() {
//ifstream cin("A.in");
//ofstream cout("A.out");
int n, i;
ll m, d;
ios::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
cin >> m >> d >> n;
vector <ll> arr(n);
for(i = 0; i < n; i++) {
cin >> arr[i];
}
sort(arr.begin(), arr.end(), greater<ll>());
ll mn = INF, id = -1;
for(i = 0; i < n; i++) {
if(mn > arr[i] && arr[i] >= m - d) {
mn = arr[i];
id = i;
}
}
if(id == -1) {
cout << 0;
return 0;
}
int ans = 0;
ll x = 0;
for(i = 0; i < n && x < d; i++) {
if(id == i) {
continue;
}
if(arr[i] > d - x) {
x += arr[i] - (d - x);
ans++;
}
}
if(x < d) {
if(2LL * (d - x) + m - d <= mn) {
ans++;
}
else {
cout << 0;
return 0;
}
}
else if(x < m) {
ans++;
}
cout << ans;
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
384 KB |
Output is correct |
2 |
Correct |
2 ms |
384 KB |
Output is correct |
3 |
Correct |
2 ms |
380 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
384 KB |
Output is correct |
2 |
Correct |
2 ms |
384 KB |
Output is correct |
3 |
Correct |
2 ms |
384 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
428 KB |
Output is correct |
2 |
Correct |
2 ms |
384 KB |
Output is correct |
3 |
Correct |
3 ms |
384 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3 ms |
384 KB |
Output is correct |
2 |
Correct |
3 ms |
384 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
11 ms |
768 KB |
Output is correct |
2 |
Correct |
4 ms |
640 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
15 ms |
868 KB |
Output is correct |
2 |
Correct |
16 ms |
896 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
27 ms |
1408 KB |
Output is correct |
2 |
Correct |
56 ms |
2048 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
74 ms |
2688 KB |
Output is correct |
2 |
Correct |
89 ms |
2944 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
139 ms |
4224 KB |
Output is correct |
2 |
Correct |
114 ms |
3456 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
107 ms |
4224 KB |
Output is correct |
2 |
Correct |
133 ms |
4224 KB |
Output is correct |