Submission #642819

#TimeUsernameProblemLanguageResultExecution timeMemory
642819dariaBalloons (CEOI11_bal)C++14
0 / 100
2084 ms12820 KiB
#include "bits/stdc++.h"
using namespace std;
#define N (1<<18) // 4194304
#define ld double
#define x first
#define r second
typedef pair<ld, ld> p;

ld rad(p b, p a){
 return (b.x - a.x)*(b.x - a.x)/(4*a.r);
}

int main(){
 int n; cin >> n;
 vector<p> v(n);
 for(int i=0; i<n; ++i){ ld a, b; cin >> a >> b; v[i] = {a, b}; }
 stack<p> st;
 for(int i=0; i<n; ++i){
  ld curr = v[i].r;
  while(!st.empty()){
   ld check = rad(v[i], st.top());
   check = min(curr,check);
   if(check>=st.top().r){ st.pop(); curr = min(curr, check); }
   else{ curr = check; break; }
  }
 for(int i=0; i<n; ++i) cout << fixed << setprecision(3) << curr << endl;
  st.push({v[i].x, curr});
 }

}
#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...