Submission #1027287

#TimeUsernameProblemLanguageResultExecution timeMemory
1027287hehebjp123Sure Bet (CEOI17_sure)C++14
0 / 100
1 ms2392 KiB
#include<bits/stdc++.h> #pragma GCC optimize("Ofast,O3,unroll-loops") #define double long double #define ll long long #define fi first #define se second #define ii pair<ll,ll> #define pb push_back using namespace std; const ll N=1e5+5; const long long mod=1e9+7; const double esp=1e-18; double a[N],b[N]; ll vta,vtb,i,j,n; bool kt(double k) { for(ll i=1;i<=vta;i++) if(a[i]>=k) { ll l=1,r=vtb,vt; if(b[vtb]-(double)i<k) continue; while(l<=r) { ll mid=(l+r)/2; if(b[mid]-(double)i>=k) { vt=mid; r=mid-1; } else l=mid+1; } if(a[i]-(double)vt>=k) return 1; } return 0; } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); cin>>n; for(i=1;i<=n;i++){ cin>>a[i]>>b[i]; } sort(a+1,a+n+1,greater<double>()); sort(b+1,b+n+1,greater<double>()); vta=(a[1]>1?1:0); vtb=(b[1]>1?1:0); a[1]-=1; b[1]-=1; for(i=2;i<=n;i++) { if(a[i]>1) vta=i; a[i]+=a[i-1]-1; if(b[i]>1) vtb=i; b[i]+=b[i-1]-1; } //return cout<<kt(0.5),0; double l=0,r=1e18,kq; while(l<r-esp) { double mid=(l+r)/2; if(kt(mid)) { kq=mid; l=mid+esp; } else r=mid-esp; } cout<<setprecision(4)<<fixed<<kq; } /* min(a[x]-x-y,b[y]-x-y) */

Compilation message (stderr)

sure.cpp: In function 'bool kt(long double)':
sure.cpp:32:13: warning: 'vt' may be used uninitialized in this function [-Wmaybe-uninitialized]
   32 |     if(a[i]-(double)vt>=k) return 1;
      |             ^~~~~~~~~~
sure.cpp: In function 'int main()':
sure.cpp:32:13: warning: 'vt' may be used uninitialized in this function [-Wmaybe-uninitialized]
   32 |     if(a[i]-(double)vt>=k) return 1;
      |             ^~~~~~~~~~
sure.cpp:20:18: note: 'vt' was declared here
   20 |     ll l=1,r=vtb,vt;
      |                  ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...