Submission #249698

#TimeUsernameProblemLanguageResultExecution timeMemory
249698dvdg6566Pod starim krovovima (COCI20_psk)C++14
50 / 50
2 ms384 KiB
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<ll> vi;
typedef pair<ll,ll> pi;
typedef vector<pi> vpi;
typedef long double ld;
#define pb emplace_back
#define mp make_pair
#define lb lower_bound
#define ub upper_bound
#define ALL(x) x.begin(), x.end() 
#define SZ(x) (ll)x.size()
#define f first
#define s second
const ll MAXN=300001;
const ll MAXK=1000001;
const ll INF = 1e9;
const ll MOD = 1e9+7;

ll out[MAXN];
vpi V;
ll N,X,a,b;

int main(){
	cin>>N;
	for(int i=1;i<=N;++i){
		cin>>a>>b;
		X+=a;
		V.pb(b,i);
	}
	int R=N;
	sort(ALL(V));
	while(X){
		pi t=V.back();V.pop_back();
		out[t.s]=min(t.f,X);
		X-=out[t.s];
		--R;
	}
	cout<<R<<'\n';
	for(int i=1;i<=N;++i)cout<<out[i]<<' ';
}
#Verdict Execution timeMemoryGrader output
Fetching results...