Submission #702807

#TimeUsernameProblemLanguageResultExecution timeMemory
702807TruitadepatatesBalloons (CEOI11_bal)C++14
100 / 100
192 ms7020 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int n;
  cin >> n;
  cout << fixed << setprecision(3);
  vector<double> ans(n);
  stack<pair<double, double>> balloons;
  double x, r;
  double rmax, mmax;
  for (int i = 0; i < n; i++){
    cin >> x >> r;
    mmax = 0;
    rmax = r;
    if (i == 0){
      ans[0] = r;
      balloons.push({x, r});
    }
    else{
      while (!balloons.empty()){
        mmax = ((x-balloons.top().first)*(x-balloons.top().first))/(4*balloons.top().second);
        if (mmax < rmax){
          rmax = mmax;
        }
        if (rmax >= balloons.top().second){
          balloons.pop();
        }
        else{
          break;
        }
      }
      balloons.push({x, rmax});
      ans[i] = rmax;
    }
  }
  for (int i = 0; i < n; i++){
    cout << ans[i] << "\n";
  }
  return 0;
}
#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...