# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
835344 | 2023-08-23T13:35:03 Z | Dyzio96 | Balloons (CEOI11_bal) | C++14 | 0 ms | 0 KB |
#include <bits/stdc++.h> using namespace std; const int M = 2e5 +7; int n; // pair<int,int> baloon[M]; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> n; vector<double> radius; stack<pair<double ,double >> s; // s.push({baloon[0].first,baloon[0].second}); double max_r; for (int i = 0; i <n;i++){ double a, x; cin >> a >> x; max_r = x; // max_r= ((a - s.top().first) * (a - s.top().first))/4 * s.top().second; while(!s.empty()){ double last_r= ((a - s.top().first) * (a - s.top().first))/4 * s.top().second; max_r = max(last_r,max_r); if ( max_r > s.top().second){ s.pop(); continue; } else { break } s.push({a,max_r}); radius[i] = max_r; } } for (double &r: radius) {cout << r << ;\n;} }