Submission #52697

#TimeUsernameProblemLanguageResultExecution timeMemory
52697snat123Sure Bet (CEOI17_sure)C++14
100 / 100
207 ms3764 KiB
#include<bits/stdc++.h>
 
using namespace std;
 
long double a[100001], b[100001];
 
int main(){
    int n;
    cin >> n;
    for(int i=0; i<n; i++) cin >> a[i] >> b[i];
    sort(a, a+n);
	sort(b, b+n);
	int i=n-1, j=n-1;
	long double x=0.0, y=0.0, res=0.0;
	while(i>=0 || j>=0){
		if((i<0 || x>y) && j>=0) y+=b[j--];
		else if(i>=0 )x+=a[i--];
		else break;
		res=max(res, min(x, y)-(n-i)-(n-j)+2);
	}
	cout << fixed << setprecision(4) << res;
    return 0;
} 
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...