# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
61715 | IvanC | Sure Bet (CEOI17_sure) | C++17 | 134 ms | 16848 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 10;
double A[MAXN],B[MAXN],pref_A[MAXN],pref_B[MAXN];
int N;
double calcula(int x,int y){
return min(pref_A[x],pref_B[y]) - (x + y);
}
bool compara(double a,double b){
return a > b;
}
int main(){
double ans = 0.0;
scanf("%d",&N);
for(int i = 1;i<=N;i++){
scanf("%lf %lf",&A[i],&B[i]);
}
sort(A+1,A+N+1,compara);
sort(B+1,B+N+1,compara);
for(int i = 1;i<=N;i++){
pref_A[i] = pref_A[i-1] + A[i];
pref_B[i] = pref_B[i-1] + B[i];
}
int opt = 0;
for(int a = 0;a<=N;a++){
while(opt + 1 <= N && calcula(a,opt) < calcula(a,opt+1)){
opt++;
}
ans = max(ans,calcula(a,opt));
}
printf("%.4lf\n",ans);
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |