# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
844372 | 2023-09-05T12:46:22 Z | vjudge1 | Pod starim krovovima (COCI20_psk) | C++17 | 0 ms | 0 KB |
#include <bits/stdc++.h> using namespace std; #define int long long int main(){ int n;cin>>n; int tot = 0; vector<pair<int,int>> arr(n); for (int i = 0; i < n; ++i) { int x;cin>>x; tot+=x; cin>>arr[i].first; arr[i].second=i; } sort(arr.rbegin(), arr.rend()); vector<int> ans(n); int kk = 0; for (int i = 0; i < n; i++){ int ver = min(arr[i].first,tot); tot-=ver; if (ver==0) kk++; ans[arr[i].second]=ver; } cout<<kk<<endl; for (int i = 0; i < n; ++i) { cout<<ans[i]<<" "; } cout<<endl; }