Submission #853614

# Submission time Handle Problem Language Result Execution time Memory
853614 2023-09-24T17:55:21 Z mbfibat Sure Bet (CEOI17_sure) C++17
100 / 100
1139 ms 8500 KB
#include <bits/stdc++.h>

using namespace std;

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

int main(int argc, char** argv) {
	ios::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);

	int n; cin >> n;
	for (int i = 1; i <= n; i++)
		cin >> a[i] >> b[i];
	sort(a + 1, a + 1 + n, greater<double>());
	sort(b + 1, b + 1 + n, greater<double>());

	double ans = 0.0;

	int pos_a = 1, pos_b = 1, cnt = 0;
	double sum_a = 0, sum_b = 0;
	while (1) {
		++cnt;
		if (sum_a < sum_b) {	
			if (pos_a > n) break;
			sum_a += a[pos_a++];
		} else if (sum_b < sum_a) {
			if (pos_b > n) break;
			sum_b += b[pos_b++];
		} else {
			if (sum_a > n || sum_b > n) break;
			sum_a += a[pos_a++];
		}
		cerr << sum_a << ' ' << sum_b << '\n';
		double val = min(sum_a - cnt, sum_b - cnt);
		ans = max(ans, val);
	}

	cout << setprecision(4) << fixed << ans;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 2 ms 344 KB Output is correct
8 Correct 1 ms 344 KB Output is correct
9 Correct 2 ms 348 KB Output is correct
10 Correct 1 ms 344 KB Output is correct
11 Correct 1 ms 344 KB Output is correct
12 Correct 11 ms 348 KB Output is correct
13 Correct 11 ms 344 KB Output is correct
14 Correct 11 ms 344 KB Output is correct
15 Correct 9 ms 344 KB Output is correct
16 Correct 11 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 2 ms 344 KB Output is correct
8 Correct 1 ms 344 KB Output is correct
9 Correct 2 ms 348 KB Output is correct
10 Correct 1 ms 344 KB Output is correct
11 Correct 1 ms 344 KB Output is correct
12 Correct 11 ms 348 KB Output is correct
13 Correct 11 ms 344 KB Output is correct
14 Correct 11 ms 344 KB Output is correct
15 Correct 9 ms 344 KB Output is correct
16 Correct 11 ms 344 KB Output is correct
17 Correct 1128 ms 6104 KB Output is correct
18 Correct 1115 ms 6448 KB Output is correct
19 Correct 1120 ms 6216 KB Output is correct
20 Correct 888 ms 5508 KB Output is correct
21 Correct 1139 ms 8412 KB Output is correct
22 Correct 1116 ms 6364 KB Output is correct
23 Correct 1130 ms 6292 KB Output is correct
24 Correct 1132 ms 6068 KB Output is correct
25 Correct 899 ms 5788 KB Output is correct
26 Correct 1100 ms 8500 KB Output is correct