Submission #997396

#TimeUsernameProblemLanguageResultExecution timeMemory
997396vjudge1Balloons (CEOI11_bal)C++14
100 / 100
119 ms7144 KiB
#include <bits/stdc++.h> using namespace std; #define f first #define s second #define pb push_back #define sz(x) int((x).size()) #define all(x) begin(x), end(x) #define rep(i, l, r) for (int i = (int) (l); i <= (int) (r); i++) #define rev(i, r, l) for (int i = (int) (r); i >= (int) (l); i--) using namespace std; using vi = vector <int>; using pi = pair <int, int>; typedef long long ll; typedef unsigned long long ull; template <class X, class Y> inline bool maximize(X &x, const Y &y) {return x < y ? x = y, 1 : 0;} template <class X, class Y> inline bool minimize(X &x, const Y &y) {return x > y ? x = y, 1 : 0;} const int INF = (int) 1e9 + 7; const int MOD = (int) 1e9 + 7; int n; double calc_r(pair<double, double> a, double bx) { return (a.first - bx) * (a.first - bx) / (4 * a.second); } void inp() { } void sol() { cin >> n; vector<double> final_radius(n); stack<pair<double, double>> to_check; for (int i = 0; i < n; i++) { double x, r; cin >> x >> r; double max_r = r; while (!to_check.empty()) { pair<double, double> last = to_check.top(); double to_last_r = calc_r(last, x); max_r = min(max_r, to_last_r); if (max_r >= last.second) { to_check.pop(); continue; } else break; } to_check.push({x, max_r}); final_radius[i] = max_r; } cout << fixed << setprecision(3); for (double &r : final_radius) cout << r << "\n"; } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); #define task "" if (fopen(task".inp", "r")) { freopen(task".inp", "r", stdin); freopen(task".out", "w", stdout); } int test = 1; //cin >> test; while (test--) { inp(); sol(); } }

Compilation message (stderr)

bal.cpp: In function 'int main()':
bal.cpp:68:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   68 |         freopen(task".inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
bal.cpp:69:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   69 |         freopen(task".out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#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...