Submission #843634

#TimeUsernameProblemLanguageResultExecution timeMemory
843634vjudge1Sure Bet (CEOI17_sure)C++98
100 / 100
118 ms3744 KiB
#define COPYRIGHT CODE BY TRINH TUAN NGHIA #include<bits/stdc++.h> #define Boost ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0) #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #pragma GCC target("popcnt") #define ll long long #define endl "\n" #define st first #define nd second #define ii pair <ll,ll> #define iii pair <ll,ii> #define iiii pair <ii,ii> #define pb push_back #define NAME "surebet" using namespace std; const ll N = 1e5 + 10; double a[N]; double b[N]; ll n; ll na, nb; double sa, sb; void inp (){ cin >> n; for (int i = 1; i <= n; ++i){ cin >> a[i] >> b[i]; } } void solve(){ double l = 0, r = 1e9; sort (a + 1,a + n + 1, greater<>()); sort (b + 1, b + n + 1, greater<>()); double ans =0 ; for (int j = 0 ; j <= 50; ++j){ double m = (l + r) / 2; sa = 0; sb = 0; na = 0; nb = 0; bool check = false; for (int i = 0; i<= 2 * n; ++i){ while (sa - i < m and na < n){ sa += a[na + 1]; //cout << "Dcm " << sa << " " << m << endl; ++na; } while (sb - i < m and nb < n){ sb += b[nb + 1]; ++nb; } while (sa - i - a[na] >= m){ sa -= a[na]; --na; } while (sb - i - b[nb] >=m){ sb -= b[nb]; --nb; } if (na + nb <= i and sa - i >= m and sb - i >= m){ check = true; ans = max(ans, m); } } if (check)l = m; else r = m; } cout << setprecision(4) << fixed << ans; } signed main (){ if (fopen(NAME".inp", "r")){ freopen(NAME".inp", "r", stdin); freopen(NAME".out", "w", stdout); } Boost; inp(); solve(); } /* input */ /* output */

Compilation message (stderr)

sure.cpp: In function 'int main()':
sure.cpp:74:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   74 |         freopen(NAME".inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
sure.cpp:75:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   75 |         freopen(NAME".out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...