Submission #46293

# Submission time Handle Problem Language Result Execution time Memory
46293 2018-04-19T01:11:30 Z RezwanArefin01 Sure Bet (CEOI17_sure) C++17
0 / 100
2 ms 564 KB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef pair<int, int> ii; 

const int N = 1e5 + 10; 
double a[N], b[N];

int main(int argc, char const *argv[]) {
#ifdef LOCAL_TESTING
	freopen("in", "r", stdin);
#endif
	int n; cin >> n; 
	for(int i = 1; i <= n; i++) 
		cin >> a[i] >> b[i];
	sort(a + 1, a + n + 1, greater<double>());
	sort(b + 1, b + n + 1, greater<double>()); 
	for(int i = 1; i <= n; i++) 
		a[i] += a[i - 1], b[i] += b[i - 1];

	double ans = 0; 
	for(int i = 0; i <= n; i++) {
		int lo = 0, hi = n; 
		while(lo <= hi) {
			int m1 = lo + (hi - lo) / 2; 
			int m2 = hi - (hi - lo) / 2; 
			double f1 = min(a[i], b[m1]) - i - m1; 
			double f2 = min(a[i], b[m2]) - i - m2;
			ans = max({ans, f1, f2}); 
			if(f1 < f2) lo = m1 + 1; 
			else hi = m2 - 1; 
		}
	}
	cout << fixed << setprecision(4) << ans << endl;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Incorrect 2 ms 564 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Incorrect 2 ms 564 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Incorrect 2 ms 564 KB Output isn't correct
4 Halted 0 ms 0 KB -