Submission #468519

#TimeUsernameProblemLanguageResultExecution timeMemory
468519Vladth11Sure Bet (CEOI17_sure)C++14
60 / 100
2077 ms3140 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #define debug(x) cerr << #x << " " << x << "\n" #define debugs(x) cerr << #x << " " << x << " " #pragma GCC optimize("Ofast,unroll-loops") using namespace std; using namespace __gnu_pbds; typedef long long ll; typedef pair <int, int> pii; typedef pair <long double, pii> muchie; typedef tree <ll, null_type, less_equal <ll>, rb_tree_tag, tree_order_statistics_node_update> OST; const ll NMAX = 100001; const ll INF = (1LL << 60); const ll HALF = (1LL << 59); const ll MOD = 30013; const ll BLOCK = 318; const ll base = 31; const ll nr_of_bits = 21; double a[NMAX]; double b[NMAX]; int n; double place(double bets) { int sum = 0, i = 1, j = 1; double sa = 0, sb = 0, init = bets; while(bets--) { if(sa == sb) { ///poate mai facem ceva modificari if(j > n) { sa += a[i]; i++; continue; } if(i > n) { sb += b[j]; j++; continue; } if(a[i] < b[j]) { sb += b[j]; j++; continue; } sa += a[i]; i++; } else if(sa < sb) { if(i > n) { sb += b[j]; j++; continue; } sa += a[i]; i++; } else if(sa > sb) { if(j > n) { sa += a[i]; i++; continue; } sb += b[j]; j++; } } return min(sa - init, sb - init); } int main() { int i; cin >> n; for(i = 1; i <= n; i++) { cin >> a[i] >> b[i]; } sort(a + 1, a + n + 1); reverse(a + 1, a + n + 1); sort(b + 1, b + n + 1); reverse(b + 1, b + n + 1); double maxim = 0; for(i = 1; i <= 2 * n; i++){ maxim = max(maxim, place(i)); } cout << fixed << setprecision(4) << maxim; return 0; }

Compilation message (stderr)

sure.cpp: In function 'double place(double)':
sure.cpp:28:9: warning: unused variable 'sum' [-Wunused-variable]
   28 |     int sum = 0, i = 1, j = 1;
      |         ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...