Submission #447046

#TimeUsernameProblemLanguageResultExecution timeMemory
447046grtPod starim krovovima (COCI20_psk)C++17
50 / 50
1 ms332 KiB
#include <bits/stdc++.h>
#define PB push_back
#define ST first
#define ND second
#define _ ios_base::sync_with_stdio(0); cin.tie(0);
//mt19937 rng(chrono::high_resolution_clock::now().time_since_epoch().count());

using namespace std;

using ll = long long;
using pi = pair<int,int>;
using vi = vector<int>;

const int nax = 1000 + 10;
int n;
vector<pi>a;
ll sum;
int cap[nax];


int main() {_
	cin >> n;
	a.resize(n);
	for(int i = 0; i < n; ++i) {
		int x;
		cin >> x;
		sum += x;
		cin >> a[i].ST;
		a[i].ND = i;
	}
	sort(a.rbegin(), a.rend());
	int cnt = 0;
	for(auto x : a) {
		cap[x.ND] = min(sum, (ll)x.ST);
		sum -= min(sum, (ll)x.ST);
		if(cap[x.ND] == 0) {
			cnt++;
		}
	}
	cout << cnt << "\n";
	for(int i = 0; i < n; ++i) cout << cap[i] << " ";
	
}
#Verdict Execution timeMemoryGrader output
Fetching results...