답안 #844225

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
844225 2023-09-05T11:38:57 Z vjudge1 Pod starim krovovima (COCI20_psk) C++17
50 / 50
1 ms 344 KB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define endl "\n"
#define all(c) (c).begin(), (c).end()

void solve(){	

	int n,sum = 0,cnt = 0;
	cin >> n;

	vector<array<int,3>> v(n);
	for(auto &[x,y,z] : v){
		cin >> x >> y; z = cnt++;
		swap(x,y); sum += y;
	}

	vector<int> ans(n);
	sort(v.rbegin(), v.rend());
		
	for(auto &[x,y,z] : v){
		ans[z] = min(sum,x);
		sum -= min(sum,x);
	}

	cnt = 0;
	for(int i = 0; i < n; i++){
		if(ans[i] == 0){
			++cnt;
		}
	}

	cout << cnt << endl;
	for(int x : ans){
		cout << x << ' ';
	}
}

signed main(){

	#ifndef ONLINE_JUDGE
	//	freopen("in.txt","r",stdin); freopen("out.txt","w",stdout);
	#endif

	ios_base::sync_with_stdio(0);
	cin.tie(0);

	int t = 1;
//	cin >> t;

	while(t--){
		solve();
	}

	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 0 ms 344 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 0 ms 344 KB Output is correct
9 Correct 0 ms 344 KB Output is correct
10 Correct 1 ms 344 KB Output is correct