Submission #928572

# Submission time Handle Problem Language Result Execution time Memory
928572 2024-02-16T16:55:57 Z ind1v Sure Bet (CEOI17_sure) C++11
60 / 100
2000 ms 10220 KB
#include <bits/stdc++.h>

using namespace std;

const int N = 1e5 + 5;

int n;
long double a[N], b[N];

int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> a[i] >> b[i];
  }
  long double lo = 0.0F, hi = 1e8;
  for (int ite = 1; ite <= 100; ite++) {
    long double mid = (lo + hi) * 0.5F;
    bool f = false;
    priority_queue<long double> aq, bq;
    for (int i = 1; i <= n; i++) {
      aq.push(a[i] - 1);
      bq.push(b[i] - 1);
    }
    long double a = 0, b = 0;
    for (int x = 0, y = 0; x <= n; x++) {
      while (y + 1 <= n && a - (y + 1) >= mid) {
        y++;
        b += bq.top();
        bq.pop();
      }
      f |= (a - y >= mid && b - x >= mid);
      a += aq.top();
      aq.pop();
    }
    if (f) {
      lo = mid;
    } else {
      hi = mid;
    }
  }
  cout << fixed << setprecision(4) << lo << '\n';
  return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2648 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2392 KB Output is correct
5 Correct 2 ms 2396 KB Output is correct
6 Correct 1 ms 2396 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2648 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2392 KB Output is correct
5 Correct 2 ms 2396 KB Output is correct
6 Correct 1 ms 2396 KB Output is correct
7 Correct 2 ms 2392 KB Output is correct
8 Correct 2 ms 2396 KB Output is correct
9 Correct 3 ms 2392 KB Output is correct
10 Correct 2 ms 2396 KB Output is correct
11 Correct 2 ms 2392 KB Output is correct
12 Correct 24 ms 2396 KB Output is correct
13 Correct 30 ms 2592 KB Output is correct
14 Correct 29 ms 2396 KB Output is correct
15 Correct 22 ms 2392 KB Output is correct
16 Correct 26 ms 2396 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2648 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2392 KB Output is correct
5 Correct 2 ms 2396 KB Output is correct
6 Correct 1 ms 2396 KB Output is correct
7 Correct 2 ms 2392 KB Output is correct
8 Correct 2 ms 2396 KB Output is correct
9 Correct 3 ms 2392 KB Output is correct
10 Correct 2 ms 2396 KB Output is correct
11 Correct 2 ms 2392 KB Output is correct
12 Correct 24 ms 2396 KB Output is correct
13 Correct 30 ms 2592 KB Output is correct
14 Correct 29 ms 2396 KB Output is correct
15 Correct 22 ms 2392 KB Output is correct
16 Correct 26 ms 2396 KB Output is correct
17 Execution timed out 2001 ms 10220 KB Time limit exceeded
18 Halted 0 ms 0 KB -