Submission #1116650

#TimeUsernameProblemLanguageResultExecution timeMemory
1116650whoBalloons (CEOI11_bal)C++17
10 / 100
96 ms8220 KiB
#include <bits/stdc++.h> using namespace std; #define task "balloons" #define etr "\n" #define ll long long #define ld long double #define pii pair<int,int> #define pli pair<long long,int> #define pll pair<long long, long long> #define fi first #define se second #define bg begin #define pb push_back #define pf push_front #define pob pop_back #define pof pop_front #define lwb lower_bound #define upb upper_bound #define range(x, l, r) x+l, x+1+r #define all(x) (x).bg(), (x).end() #define compact(x) x.resize(unique(all(x)) - (x).bg()) #define sq(x) ((x)*(x)) auto start = chrono::high_resolution_clock::now(); void start_timer() { start = chrono::high_resolution_clock::now(); } ld elapsed() { auto current = chrono::high_resolution_clock::now(); ld duration = chrono::duration_cast<chrono::nanoseconds>(current - start).count(); return duration / 1e9; } void freop() { freopen(task".inp", "r", stdin); freopen(task".out", "w", stdout); } template<class U, class V> istream& operator >> (istream& in, pair<U, V>& p) { in >> p.fi >> p.se; return in; } template<class U, class V> ostream& operator << (ostream& out, pair<U, V> p) { out << "{" << p.fi << ' ' << p.se << "}"; return out; } template<class T> ostream& operator << (ostream& out, vector<T>& v) { out << "{"; for (int i=0; i<v.size(); i++) { out << v[i]; if (i != v.size() - 1) out << ", "; } out << "}"; return out; } const int N=2e5, M=1e5, mod=1e9+7; int n; ll x[N+5], r[N+5]; long double ans[N+5]; ld calc(int i, int j) { return sq(x[i] - x[j]) / (4 * ans[j]); } void process() { cin >> n; for (int i=1; i<=n; i++) cin >> x[i] >> r[i]; vector<int> st; st.reserve(n); for (int i=1; i<=n; i++) { while (!st.empty() && min(r[i] * 1.0L, calc(i, st.back())) >= ans[st.back()]) st.pob(); if (st.empty()) ans[i] = r[i]; else ans[i] = min(r[i] * 1.0L, calc(i, st.back())); st.pb(i); cout << setprecision(3) << fixed << ans[i] << etr; } } int main() { ios_base::sync_with_stdio(false); cin.tie(0); //freop(); int t=1; //cin >> t; while (t--) process(); return 0; }

Compilation message (stderr)

bal.cpp: In function 'void freop()':
bal.cpp:41:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   41 |  freopen(task".inp", "r", stdin);
      |  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
bal.cpp:42:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   42 |  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...