Submission #865283

#TimeUsernameProblemLanguageResultExecution timeMemory
865283vjudge1Sure Bet (CEOI17_sure)C++17
0 / 100
0 ms344 KiB
#include <bits/stdc++.h> #define ll long long #define Sayan ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0) #define file(s) if (fopen(s".in", "r")) freopen(s".in", "r", stdin), freopen(s".out", "w", stdout) #define all(a) a.begin() , a.end() #define Int(a,x) a+1 , a+1+x #define sz() size() #define F first #define S second #define pb push_back #define yes cout << "YES\n" #define no cout << "NO\n" #define pii pair<ll,ll> using namespace std ; const ll N = 1e5+5; const ll INF = 1e18; const ll mod = 1e9+7; /* ll binpow(ll a , ll b){ if(b == 0) return 1; if(b%2) return binpow(a , b-1) * a % mod; ll c = binpow(a , b/2) % mod; return c*c%mod; } */ double l[N],r[N]; void solve(){ ll n; cin>>n; double mx=-1e5; double alll=0; for(ll i=1;i<=n;i++){ cin>>l[i]>>r[i]; alll+=r[i]; } sort(l+1,l+1+n); reverse(l+1,l+1+n); sort(r+1,r+1+n); reverse(r+1,r+1+n); double sum1=0; for(ll i=1;i<=n;i++){ sum1+=l[i]; double otv=n; ll l1=1,r1=n; double res=alll; while(l1<=r1){ ll md=(l1+r1)/2; double sum2=0; for(ll j=1;j<=md;j++){ double ex=r[j]; sum2=sum2+ex; } if(sum2>=sum1){ r1=md-1; otv=md; res=sum2; } else l1=md+1; } // cout<<res<<" "<<i<<" "<<otv<<"\n"; double mn=min(sum1-(otv+i),res-(otv+i)); mx=max(mx,mn); } cout<<fixed<<setprecision(4)<<mx<<"\n"; } signed main () { Sayan; ll t=1; //cin>>t; while(t--)solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...