Submission #880187

#TimeUsernameProblemLanguageResultExecution timeMemory
880187lambd47Balloons (CEOI11_bal)C++14
10 / 100
195 ms10728 KiB
#include<bits/stdc++.h> using namespace std; const double INF=1e9+7; double calc(double p1,double r1,double p2){ if(r1==0){ return 0; } return double ((p2-p1)*(p2-p1))/(4*r1); } int main(){ int n; cin>>n; vector<double> pos(n); vector<double> maxr(n);//maximo vector<double> raio(n); for(int i=0;i<n;i++){ cin>>pos[i]>>maxr[i]; } vector<pair<int,int>> fila; cout<<fixed<<setprecision(3); for(int i=0;i<n;i++){ while(fila.size()>1 && calc(fila.back().first,fila.back().second,pos[i])>calc(fila[fila.size()-2].first,fila[fila.size()-2].second,pos[i])){ fila.pop_back(); } if(fila.empty()){ raio[i]=maxr[i]; } else if(calc(fila.back().first,fila.back().second,pos[i])<maxr[i]){ raio[i]=calc(fila.back().first,fila.back().second,pos[i]); } else{ raio[i]=maxr[i]; } fila.push_back({pos[i],raio[i]}); } for(int i=0;i<n;i++){ cout<<raio[i]<<"\n"; } }
#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...