제출 #344461

#제출 시각아이디문제언어결과실행 시간메모리
344461limabeansPod starim krovovima (COCI20_psk)C++17
50 / 50
1 ms384 KiB
#include <bits/stdc++.h> using namespace std; template<typename T> void out(T x) { cout << x << endl; exit(0); } #define watch(x) cout << (#x) << " is " << (x) << endl using ll = long long; const int maxn = 1e6 + 5; int n; ll ans[maxn]; ll cap[maxn]; ll have[maxn]; ll sum = 0; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>n; for (int i=0; i<n; i++) { ll t; cin>>t>>cap[i]; sum += t; } vector<int> ord(n); iota(ord.begin(), ord.end(), 0); sort(ord.begin(), ord.end(), [&](int i, int j) { return cap[i] > cap[j]; }); for (int i: ord) { ll take = min(sum, cap[i]); sum -= take; have[i] += take; } ll empty = 0; for (int i=0; i<n; i++) { if (have[i]==0) empty++; } cout<<empty<<"\n"; for (int i=0; i<n; i++) { cout<<have[i]<<" "; } cout<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...