Submission #35889

# Submission time Handle Problem Language Result Execution time Memory
35889 2017-12-02T03:56:32 Z funcsr Sure Bet (CEOI17_sure) C++14
0 / 100
0 ms 3576 KB
#include <iostream>
#include <vector>
#include <algorithm>
#define pb push_back
#define all(xs) xs.begin(), xs.end()
#define rep(i, n) for (int i=0; i<(n); i++)
using namespace std;

int N;
long long A[100000], B[100000];

int read_as_int() {
  string s;
  cin >> s;
  int ret = 0;
  bool after = false;
  string t = "";
  for (char c : s) {
    if (c == '.') {
      after = true;
      continue;
    }
    if (after) t += c;
    else ret = 10*ret + (int)(c-'0');
  }
  while (t.size() < 4) t += '0';
  return 10000*ret + stoi(t);
}

signed main() {
  cin >> N;
  rep(i, N) {
    A[i] = read_as_int();
    B[i] = read_as_int();
  }
  sort(A, A+N, greater<long long>());
  sort(B, B+N, greater<long long>());
  rep(i, N-1) A[i+1] += A[i];
  rep(i, N-1) B[i+1] += B[i];
  int p = 0;
  long long m = 0, s = 0;
  rep(a, N) {
    while (p < N && B[p] < A[a]) {
      s = max(s, B[p] - 10000LL*(p+1));
      p++;
    }
    m = max(m, s-10000LL*(a+1));
    if (p < N) {
      m = max(m, A[a] - 10000LL*(p+1+a+1));
    }
  }
  printf("%.4lf\n", (double)m);
  return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 3576 KB Output is correct
2 Incorrect 0 ms 3576 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 3576 KB Output is correct
2 Incorrect 0 ms 3576 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 3576 KB Output is correct
2 Incorrect 0 ms 3576 KB Output isn't correct
3 Halted 0 ms 0 KB -