Submission #578779

#TimeUsernameProblemLanguageResultExecution timeMemory
578779DanielQiuBalloons (CEOI11_bal)C++17
100 / 100
606 ms8736 KiB
#include <bits/stdc++.h>
using namespace std;
#define r first
#define x second
int main(){
        //freopen("test.in", "r", stdin);
        int n;
        cin>>n;
        stack<pair<long double, long double>> rd;//{radius, x coord}
        for(int i = 0; i<n; i++){
                long double x, r;
                cin>>x>>r;
                long double cur = r;
                while(!rd.empty()){
                        long double dist= (rd.top().x-x)*(rd.top().x-x)/(4*rd.top().r);
                        cur = min(cur, dist);
                        if(cur>rd.top().r){
                                rd.pop();
                        }else{
                                break;
                        }
                }
                rd.push({cur, x});
                printf("%.3Lf\n",cur);
        }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...