제출 #1295812

#제출 시각아이디문제언어결과실행 시간메모리
1295812KindaGoodGamesBalloons (CEOI11_bal)C++20
0 / 100
111 ms4332 KiB
#include<bits/stdc++.h> #define ll long long #define double long double #define pii pair<double,double> #define pdd pair<double,double> #define tiii tuple<int,int,int> using namespace std; double eps = 1e-6; double dist(pdd a, pdd b){ double dx = a.first-b.first; double dy = a.second-b.second; return sqrt((dx*dx)+(dy*dy)); } double get(pii bal, int p){ double top = (bal.first-p)*(bal.first-p); return (top/(4L*bal.second)); } int main(){ int n; cin >> n; vector<int> arr(n); vector<double> constr(n); for(int i = 0; i < n; i++){ cin >> arr[i] >> constr[i]; } vector<pii> S; vector<double> ans; for(int i = 0; i < n; i++){ double val = 1e9; val = min(val, constr[i]); do{ val = min(val, get(S.back(),arr[i])); S.pop_back(); }while(S.size() && val >= S.back().second); if(S.size())val = min(val, get(S.back(),arr[i])); S.push_back({arr[i],val}); ans.push_back(val); } cout << fixed << setprecision(3); for(auto v : ans) cout << v << "\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...