# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
878630 | 2023-11-25T02:44:22 Z | Muhammad_Aneeq | Sure Bet (CEOI17_sure) | C++ | 0 ms | 0 KB |
/* بسم الله الرحمن الرحيم Author: (:Muhammad Aneeq:) */ #pragma GCC optimize("O2") #pragma GCC optimize("Ofast") #pragma GCC target("avx,avx2,fma") #include <iostream> #include <algorithm> #include <vector> using namespace std; #define ld long double int const N=1e5+10; inline void solve() { int n; cin>>n; ld a[n],b[n]; for (int i=0;i<n;i++) cin>>a[i]>>b[i]; sort(a,a+n); sort(b,b+n); reverse(b,b+n); reverse(a,a+n); ld pre[2][n+1]={}; for (int i=0;i<n;i++) { pre[0][i+1]=pre[0][i]+a[i]; pre[1][i+1]=pre[1][i]+b[i]; } ld ans=0; for (int i=1;i<=2*n;i++) { for (int j=max(0,i-n);i-j>=0;j++) ans=max(ans,min(pre[0][j]-i,pre[1][i-j]-i)); } printf("%.4lf\n",(double)ans); } int main() { ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); solve(); }