제출 #938327

#제출 시각아이디문제언어결과실행 시간메모리
938327vjudge1Sure Bet (CEOI17_sure)C++17
100 / 100
111 ms3148 KiB
///* __ __ __ */ ///* ====== _ /| /| __ _ / | | /| | @ | | | | / /| |\ | / | | @ | / */ ///* \- || |_| |_ / |/ | | | |_ |- | |--| /-| | | \ \ |==| |- /=| | \ | | |--| | |- */ ///* || | | |_ / | |__| _| |_ \__ | | / | |__ | __| | | | \ / | | \| \__ | | | | \ */ ///* #include <bits/stdc++.h> using namespace std; #define pb push_back #define ff first #define ss second #define int long long typedef vector<int> vi; typedef vector<double> vd; typedef pair<int,int> pii; typedef vector<pii> vii; const int N = 3e5+50, inf = 1e18, mod = 1e9+7; void solve(){ int n; cin >> n; vd a(n+2, 0), b(n+2, 0); for(int i = 0; i < n; i++)cin >> a[i] >> b[i]; sort(a.rbegin(), a.rend()); sort(b.rbegin(), b.rend()); double ans = 0; vd pr;pr.pb(0); for(auto i:b)pr.pb(pr.back()+i); double sma = 0, cnt = 0; for(int i = 0; i < n; i++){ sma+=a[i]; cnt++; int l = 0, r = n; while(l <= r){ int m = (l+r)>>1; if(sma - (cnt+m) < pr[m] - (cnt+m)){ r = m-1; }else{ l = m+1; } ans = max(ans, min(sma-(cnt+m) , pr[m] - (cnt+m))); } //cout << '\n'; } cout << fixed << setprecision(4); cout << ans << '\n'; } main(){ //ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); int test = 1; //cin >> test; while(test--){ solve(); } }

컴파일 시 표준 에러 (stderr) 메시지

sure.cpp:50:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   50 | main(){
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...