Submission #49317

#TimeUsernameProblemLanguageResultExecution timeMemory
49317robertSure Bet (CEOI17_sure)C++14
0 / 100
3 ms488 KiB
#include <iostream>
#include <algorithm>
#include <cmath>

using namespace std;

string padding(int n, int l, char c){
	string res = "";
	int nm = pow(10, l);
	while(nm>n){
		n *=10;
		res += c;
	}
	return res;
}

int main(){
	int N; cin>>N;
	int a[100100], b[100100];
	int sc = 10000;
	double f, s;
	for(int n=0; n<N; n++){
		cin>>f>>s;
		a[n] = f*10000;
		b[n] = s*10000;
	}
	sort(a, a+N);
	sort(b, b+N);
	int ans = 0;
	int l = N-2, r = N-2;
	int lo = a[N-1], ro = b[N-1];
	int bt = 2;
	while(l>=0||r>=0){
		ans = max(ans, min(lo, ro)-bt*sc);
		if(lo<ro){
			if(l>=0){
				lo += a[l--];
				bt++;
			} else {
				break;
			}
		} else {
			if(r>=0){
				ro += b[r--];
				bt++;
			} else {
			
				break;
			}
		}
		ans = max(ans, min(lo, ro)-bt*sc);
	}
	double dans = ans;
	printf("%.4f\n", dans/((double)sc));
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...