Submission #1277333

#TimeUsernameProblemLanguageResultExecution timeMemory
1277333WH8Sure Bet (CEOI17_sure)C++20
100 / 100
107 ms6672 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long 
#define pll pair<int, int>
#define mp make_pair
#define pb push_back
#define f first
#define s second
#define ld long double

signed main(){
	int n;cin>>n;
	ld a[n], b[n];
	for(int i=0;i<n;i++)cin>>a[i]>>b[i];
	sort(a, a+n, greater<ld>());
	sort(b, b+n, greater<ld>());
	ld pa[n], pb[n];
	pa[0]=a[0], pb[0]=b[0];
	for(int i=1;i<n;i++){
		pa[i]=pa[i-1]+a[i];
		pb[i]=pb[i-1]+b[i];
	}
	ld ans=0;
	for(int i=0;i<n;i++){
		int x;
		x=lower_bound(pb, pb+n, pa[i])-pb;
		if(x!=n){
			ans=max(ans, pa[i]-x-i-2);
		}
		x=lower_bound(pa, pa+n, pb[i])-pa;
		if(x!=n){
			ans=max(ans, pb[i]-x-i-2);
		}
	}
	cout<<fixed<<setprecision(4)<<ans;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...