#include <iostream>
#include <algorithm>
#include <set>
#include <deque>
using namespace std;
long long arr[1007];
int main(){
int n, a;
cin >> n;
long long idx[n], ans[n];
long long t = 0;
for(int i = 0; i < n; i++){
cin >> a >> arr[i];
t += a;
idx[i] = i;
ans[i] = 0;
}
sort(idx, idx+n, [](long long i, long long j){ return arr[i] > arr[j]; });
int i = 0;
for(; i < n; i++){
t -= arr[idx[i]];
ans[idx[i]] = (t < 0 ? arr[idx[i]] + t : arr[idx[i]]);
if(t <= 0) break;
}
cout << (n-i-1) << '\n';
for(int i = 0; i < n; i++){
cout << ans[i] << ' ';
}
cout << '\n';
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
256 KB |
Output is correct |
2 |
Correct |
5 ms |
376 KB |
Output is correct |
3 |
Correct |
5 ms |
256 KB |
Output is correct |
4 |
Correct |
5 ms |
256 KB |
Output is correct |
5 |
Correct |
6 ms |
256 KB |
Output is correct |
6 |
Correct |
5 ms |
256 KB |
Output is correct |
7 |
Correct |
5 ms |
256 KB |
Output is correct |
8 |
Correct |
7 ms |
376 KB |
Output is correct |
9 |
Correct |
6 ms |
376 KB |
Output is correct |
10 |
Correct |
6 ms |
376 KB |
Output is correct |