Submission #122755

#TimeUsernameProblemLanguageResultExecution timeMemory
122755davitmargSure Bet (CEOI17_sure)C++17
100 / 100
225 ms3796 KiB
/*DavitMarg*/ #include <iostream> #include <algorithm> #include <cmath> #include <vector> #include <string> #include <cstring> #include <map> #include <unordered_map> #include <bitset> #include <set> #include <queue> #include <deque> #include <stack> #include <iterator> #include <ctype.h> #include <stdlib.h> #include <cassert> #include <fstream> #define mod 1000000007ll #define LL long long #define LD long double #define MP make_pair #define PB push_back #define all(v) v.begin(),v.end() using namespace std; int n,k; double a[100005],b[100005],sx,sy,ans=0; int main() { cin>>n; for(int i=1;i<=n;i++) cin>>a[i]>>b[i]; sort(a+1,a+1+n); sort(b+1,b+1+n); reverse(a+1,a+1+n); reverse(b+1,b+1+n); for(int i=0;i<=n;i++) { sx+=a[i]; while(k<n && min(sx,sy)-(double)i-(double)k<=min(sx,sy+b[k+1])-(double)i-(double)k-1.0) { k++; sy+=b[k]; } ans=max(ans,min(sx,sy)-(double)i-(double)k); } printf("%.4lf\n",ans); return 0; } /* 2 2 2 1 3 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...