Submission #103831

#TimeUsernameProblemLanguageResultExecution timeMemory
103831luciocfSure Bet (CEOI17_sure)C++14
100 / 100
102 ms5120 KiB
#include <bits/stdc++.h> using namespace std; const int maxn = 1e5+10; int n; double a[maxn], b[maxn]; double s[2][maxn]; int busca(int m, bool q) { int ini, fim, ans = 0; if (m > n) ini = m-n, fim = n; else ini = 1, fim = m; while (ini <= fim) { int mid = (ini+fim)>>1; if (s[q][mid] <= s[!q][m-mid]) ans = mid, ini = mid+1; else fim = mid-1; } return ans; } bool comp(double a, double b) {return a > b;} int main(void) { scanf("%d", &n); for (int i = 1; i <= n; i++) scanf("%lf %lf", &a[i], &b[i]); sort(a+1, a+n+1, comp); sort(b+1, b+n+1, comp); for (int i = 1; i <= n; i++) { s[0][i] = s[0][i-1]+a[i]; s[1][i] = s[1][i-1]+b[i]; } double ans = 0.00; for (int i = 1; i <= 2*n; i++) ans = max({ans, s[0][busca(i, 0)]-(double)i, s[1][busca(i, 1)]-(double)i}); printf("%.4lf\n", ans); }

Compilation message (stderr)

sure.cpp: In function 'int main()':
sure.cpp:34:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &n);
  ~~~~~^~~~~~~~~~
sure.cpp:37:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lf %lf", &a[i], &b[i]);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...