Submission #1229420

#TimeUsernameProblemLanguageResultExecution timeMemory
1229420mario`Sure Bet (CEOI17_sure)C++20
0 / 100
0 ms324 KiB
#include <bits/stdc++.h> //#define int long long using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair<int, int> pii; typedef const int cint; typedef vector<int> vint; typedef double ld; #define fr(i,a,b) for(int i=(a); i<=(b); ++i) #define rr(i,a,b) for(int i=(a); i>=(b); --i) #define fv(i,x) for(auto& i:x) #define fp(p,q,x) for(auto& [p, q]:x) #define pb push_back #define in insert #define f first #define s second #define mn 500009 #define mn2 1048576 int n; map<pair<ld, ld>, bool> mp; int32_t main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin>>n; vector<pair<ld, ld>> v(n); fp(a, b, v) cin>>a>>b; vector<pair<ld, ld>> w=v; sort(v.begin(), v.end(), [](pair<ld, ld> a, pair<ld, ld> b){ return a.f>b.f; } ); sort(w.begin(), w.end(), [](pair<ld, ld> a, pair<ld, ld> b){ return a.s>b.s; } ); //fv(it, w) cout<<it.s<<" "; //cout<<"\n"; ld l=0, p=0; int i=0, j=0; ld wyn=0; int il=0; while(i<n && j<n){ if(l<p){ while(mp[v[i]] && i<n){ ++i; if(i>=n) break; } if(i>=n) break; l+=v[i].f; ++il; mp[v[i]]=1; } else{ while(mp[w[j]] && j<n){ ++j; if(j>=n) break; } if(j>=n) break; p+=w[j].s; ++il; mp[w[j]]=1; } //cout<<l<<" "<<p<<"\n"; wyn=max(wyn, min(p, l)-il); } //cout<<"\n"; // fp(a, b, v){ // if(l<=p) l+=a; // else p+=b; // cout<<l<<" "<<p<<" "<<a<<" "<<b<<"\n"; // } cout<<fixed<<setprecision(4)<<wyn; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...