제출 #1168031

#제출 시각아이디문제언어결과실행 시간메모리
1168031hoangttnhatdhPod starim krovovima (COCI20_psk)C++20
50 / 50
0 ms328 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long 
#define fi first
#define se second

int main() 
{
    ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
    int n;
    cin>>n;
    vector<ll> a(n+2);
    vector<int> p(n+1);
    ll sum=0;
    for(int i=1;i<=n;i++){
      int t,z;
      cin>>t>>z;
      a[i]=z;
      sum+=t;
    }
    for(int i=1;i<=n;i++) p[i]=i;
    sort(p.begin()+1,p.end(),[&](int &i,int &j){
      return a[i]<a[j];
    });
    vector<ll> ans(n+2);
    int j=n;
    for(int i=n;i>=1;i--){
      if(sum<=0) break;
      a[p[i]]=min(a[p[i]],sum);
      ans[p[i]]=a[p[i]];
      sum-=a[p[i]];
      //cout<<p[i]<<' '<<a[p[i]]<<'\n';
      j=i-1;
    }
    for(int i=1;i<=j;i++){
      ans[p[i]]=0;
    }
    cout<<j<<'\n';
    for(int i=1;i<=n;i++) cout<<ans[i]<<' ';
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...