Submission #201824

#TimeUsernameProblemLanguageResultExecution timeMemory
201824abilSure Bet (CEOI17_sure)C++14
100 / 100
357 ms6776 KiB
#include <bits/stdc++.h> #define fr first #define sc second #define pb push_back #define all(s) s.begin(),s.end() //#define int long long #define double long double using namespace std; const int N = (1e6 + 12); const int mod = (1e9 + 12); const int inf = (1e9 + 12); double a[N], b[N], pr[N]; bool cmp(double x, double y){ return x > y; } main() { int n; scanf("%d", &n); for(int i = 1;i <= n; i++){ cin >> a[i] >> b[i]; } sort(a + 1,a + 1 + n, cmp); sort(b + 1,b + 1 + n, cmp); double ans = 0.000000000000000000, sum = 0.000000000000000000; pr[0] = 0.000000000000000000; for(int j = 1;j <= n; j++){ pr[j] = pr[j - 1] + b[j]; } for(int i = 1;i <= n; i++){ sum += a[i]; int l = 1, r = n; while(r - l > 1){ int mid = (r + l) >> 1; if(pr[mid] > sum){ r = mid; } else{ l = mid; } } for(int j = max(1, l - 100); j <= min(n, r + 100); j++){ double x = j, y = i; ans = max(ans, min(pr[j], sum) - (x + y)); } } cout << fixed << setprecision(4) << ans; }

Compilation message (stderr)

sure.cpp:21:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main()
      ^
sure.cpp: In function 'int main()':
sure.cpp:24:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &n);
   ~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...