제출 #484353

#제출 시각아이디문제언어결과실행 시간메모리
484353ponytailSure Bet (CEOI17_sure)C++17
100 / 100
143 ms3584 KiB
#include <bits/stdc++.h> using namespace std; int main() { int N; cin >> N; double A[N+1], B[N+1]; for(int i=1; i<=N; i++) cin >> A[i] >> B[i]; sort(A+1, A+N+1); sort(B+1, B+N+1); int pta = N, ptb = N; double suma = 0, sumb = 0; double ans = 0; int cnt = 0; while(pta || ptb) { cnt++; if(suma > sumb) { if(ptb == 0) break; sumb += B[ptb--]; } else if(suma < sumb) { if(pta == 0) break; suma += A[pta--]; } else { if(pta == 0) sumb += B[ptb--]; else if(ptb == 0) suma += A[pta--]; else if(A[pta] > B[ptb]) suma += A[pta--]; else sumb += B[ptb--]; } ans = max(ans, min(suma, sumb) - cnt); } cout << fixed << setprecision(4) << ans << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...