Submission #131054

#TimeUsernameProblemLanguageResultExecution timeMemory
131054maruiiSure Bet (CEOI17_sure)C++14
100 / 100
106 ms3792 KiB
#include <bits/stdc++.h>
using namespace std;

double A[100005], B[100005];

int main(){
	ios_base::sync_with_stdio(0), cin.tie(0);
	int N; cin >> N;
	for (int i = 0; i < N; ++i) cin >> A[i] >> B[i];
	sort(A, A + N, greater<double>()), sort(B, B + N, greater<double>());
	int a = 0, b = 0;
	double sa = 0, sb = 0, ans = 0;
	while (a < N || b < N) {
		if (a < N && b < N) {
			if (min(sa + A[a], sb) > min(sa, sb + B[b])) sa += A[a++];
			else sb += B[b++];
		}
		else if (a == N) sb += B[b++];
		else sa += A[a++];
		ans = max(ans, min(sa, sb) - a - b);
	}
	printf("%.4f", ans);
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...