제출 #844275

#제출 시각아이디문제언어결과실행 시간메모리
844275vjudge1Pod starim krovovima (COCI20_psk)C++17
50 / 50
1 ms600 KiB
#include <bits/stdc++.h> using namespace std; #define fast ios::sync_with_stdio(0);cin.tie(0); #define s second #define f first typedef long long ll; const ll MOD = 998244353; const ll LOGN = 20; const ll MAXN = 5005; vector<pair<pair<ll,ll>,int>> T; vector<ll> empSuff; int main() { fast int N; cin >> N; T = vector<pair<pair<ll,ll>,int>>(N); ll sum = 0; for (int i = 0; i < N; i++) { cin >> T[i].f.s >> T[i].f.f; sum += T[i].f.s; T[i].s = i; } if (sum == 0) { cout << N << "\n"; for (int i = 0; i < N; i++) cout << 0 << " "; return 0; } sort(T.begin(), T.end(), greater<pair<pair<ll,ll>,int>>()); for (int i = 0; i < N; i++) { ll pour = min(sum, T[i].f.f); T[i].f.s = pour; sum -= pour; } vector<int> ans(N); int cnt = 0; for (int i = 0; i < N; i++) { ans[T[i].s] = T[i].f.s; if (ans[T[i].s] == 0) cnt++; } cout << cnt << "\n"; for (auto u : ans) cout << u << " "; cout << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...