Submission #116024

#TimeUsernameProblemLanguageResultExecution timeMemory
116024MeloricSure Bet (CEOI17_sure)C++14
100 / 100
149 ms3936 KiB
#include <bits/stdc++.h>
#define pb push_back
#define X first
#define Y second
#define pii pair<int, int>
#define float double
using namespace std;

vector<float> A, B;
int main(){
    int n; cin >> n;
    for(int i = 0; i< n; i++){
        float c, d; cin >> c >> d;
        if(c>1)A.pb(c);
        if(d>1)B.pb(d);
    }
    sort(A.begin(), A.end());
    sort(B.begin(), B.end());
    reverse(A.begin(), A.end());
    reverse(B.begin(), B.end());
    int p1 = 0;
    int p2 = 0;
    float v1 = 0;
    float v2 = 0;
    float ans = 0;
    while(1){
        if(v1 < v2){
            if(p1 == A.size())break;
            v1+=A[p1]-1;
            v2-=1;
            p1++;
        }else{
            if(p2 == B.size())break;
            v1-=1;
            v2+=B[p2]-1;
            p2++;
        }
        ans = max(ans, min(v1, v2));
    }
    printf("%.4lf", (float)ans);
    return 0;
}

Compilation message (stderr)

sure.cpp: In function 'int main()':
sure.cpp:28:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             if(p1 == A.size())break;
                ~~~^~~~~~~~~~~
sure.cpp:33:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             if(p2 == B.size())break;
                ~~~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...