답안 #249698

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
249698 2020-07-15T14:50:36 Z dvdg6566 Pod starim krovovima (COCI20_psk) C++14
50 / 50
2 ms 384 KB
#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]<<' ';
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 256 KB Output is correct
2 Correct 1 ms 256 KB Output is correct
3 Correct 0 ms 384 KB Output is correct
4 Correct 0 ms 256 KB Output is correct
5 Correct 0 ms 256 KB Output is correct
6 Correct 0 ms 384 KB Output is correct
7 Correct 0 ms 360 KB Output is correct
8 Correct 1 ms 384 KB Output is correct
9 Correct 2 ms 384 KB Output is correct
10 Correct 2 ms 384 KB Output is correct