제출 #1300049

#제출 시각아이디문제언어결과실행 시간메모리
1300049mioBalloons (CEOI11_bal)C++20
50 / 100
2096 ms6000 KiB
#include <cassert>
#include <iomanip>
#include <iostream>
#include <vector>
using namespace std;
using ld = long double;
// 1/a * (x - b)^2
struct Quad {
  ld a;
  uint b;
  ld eval(uint x) const {
    assert(x >= b);
    ld dst = x - b;
    return (dst * dst) / a;
  }
};
struct Bal {
  uint x, r;
};

int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  uint n;
  cin >> n;
  vector<Bal> baloons(n);
  for (uint i = 0; i < n; i++) {
    cin >> baloons[i].x >> baloons[i].r;
  }
  vector<Quad> quads;
  quads.reserve(n);
  vector<ld> rs(n);
  for (uint i = 0; i < n; i++) {
    rs[i] = baloons[i].r;
    for (Quad q: quads) {
      rs[i] = min(rs[i], q.eval(baloons[i].x));
    }
    quads.push_back({4 * rs[i], baloons[i].x});
  }
  cout << fixed << setprecision(3);
  for (ld r : rs) {
    cout << r << '\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...