Submission #879361

#TimeUsernameProblemLanguageResultExecution timeMemory
879361vjudge1Sure Bet (CEOI17_sure)C++17
0 / 100
0 ms348 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long int #define lld long long double #define pb push_back #define pf push_front #define all(a) a.begin(),a.end() #define IShowSpeed ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); const int N=5e5+10; const int mod=1e9+7; vector<double>v1,v2; int main() { IShowSpeed int n; cin>>n; while(n--) { double x,y; cin>>x>>y; v1.pb(x); v2.pb(y); } sort(all(v1)); sort(all(v2)); reverse(all(v1)); reverse(all(v2)); for(int i=1;i<v1.size();i++) v1[i]+=v1[i-1]; for(int i=1;i<v2.size();i++) v2[i]+=v2[i-1]; double ans=0; for(int i=0;i<v1.size();i++) { int l=0,r=v1.size()-1,pos=-1; while(l<=r) { int m=(l+r) >> 1; double lol=i+m+2; if(v1[i]>=lol) l=m+1,pos=m; else r=m-1; } l=0,r=pos; while(l<=r) { int m=(l+r) >> 1; double lol=i+m+2; if(v2[m]>=lol) l=m+1,ans=max(ans,min(v1[i]-lol,v2[m]-lol)); else r=m-1; } } cout<<fixed<<setprecision(4)<<ans; } /* 4 1.2 1.4 1.6 1.9 1.4 1.5 2 3.7 4 1.4 3.7 1.2 2 2.6 1.4 1.9 1.5 10 1.2 1.1 2 1 2 2.2 5.2 2 4.4 3 1.1 3 10 10.3 2.1 2.13 9 8.9 11 11 27.7000 */

Compilation message (stderr)

sure.cpp: In function 'int main()':
sure.cpp:29:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |     for(int i=1;i<v1.size();i++) v1[i]+=v1[i-1];
      |                 ~^~~~~~~~~~
sure.cpp:30:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |     for(int i=1;i<v2.size();i++) v2[i]+=v2[i-1];
      |                 ~^~~~~~~~~~
sure.cpp:32:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |     for(int i=0;i<v1.size();i++)
      |                 ~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...