Submission #401564

#TimeUsernameProblemLanguageResultExecution timeMemory
401564benkBalloons (CEOI11_bal)C++14
10 / 100
193 ms4840 KiB
#include "bits/stdc++.h" using namespace std; #define all(x) x.begin(), x.end() #define pb push_back #define sz(x) (int)(x.size()) #define ll long long #define fi first #define se second #define lbd lower_bound #define ubd upper_bound const int MOD = 1e9 + 7; const double eps = 1e-10; const long long INF = 1e18; const int N = 2e5 + 10; void solve() { int n; cin >> n; vector<int> x(n), r(n); for (int i = 0; i < n; i++) cin >> x[i] >> r[i]; stack<pair<int, double>> s; for (int i = 0; i < n; i++) { ll tmp; while (!s.empty()) { tmp = 1LL * (x[i] - s.top().fi) * (x[i] - s.top().fi); double r1 = min(1.0 * r[i], tmp / (4 * s.top().se)); if (r1 >= s.top().se) s.pop(); else break; } double ans; if (s.empty()) ans = r[i]; else ans = min(1.0 * r[i], tmp / (4 * s.top().se)); cout << fixed << setprecision(10) << ans << '\n'; s.push({x[i], ans}); } } int main() { ios::sync_with_stdio(false); cin.tie(0); int tt = 1; //cin >> tt; while (tt--) { solve(); } 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...