Submission #500017

#TimeUsernameProblemLanguageResultExecution timeMemory
500017BBart888Balloons (CEOI11_bal)C++14
30 / 100
164 ms8272 KiB
#include <iostream> #include <vector> #include <map> #include <queue> #include <algorithm> #include<stack> #include <set> #include <cmath> #include <string> using namespace std; using ll = long long; #define rev(x) reverse(x.begin(),x.end()) #define FOR(i,n) for(int i = 0;i<n;i++) #define all(x) x.begin(),x.end() const int INF = 1e9; const int MAXN = 2e5+111; const int MOD = 1e9 + 7; const int MAXS = 250*1000+123; const pair<int, int> dd[]{ {0,1},{0,-1},{1,0},{-1,0} }; int n; long double r[MAXN]; int x[MAXN]; long double ans[MAXN]; stack<pair<long double, int>> st; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); //freopen("fencedin.in", "r", stdin); //freopen("fencedin.out", "w", stdout); cin >> n; for (int i = 0; i < n; i++) cin >> x[i] >> r[i]; for (int i = 0; i < n; i++) { while (!st.empty()) { pair<long double, int> s = st.top(); r[i] = min(r[i],pow((s.second-x[i]),2)/(4*s.first)); if (r[i] >= s.first)st.pop(); else break; } st.push({r[i],x[i]}); cout << r[i] << " "; } 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...