Submission #492238

#TimeUsernameProblemLanguageResultExecution timeMemory
492238darkowlBalloons (CEOI11_bal)C++14
10 / 100
200 ms5068 KiB
/// I in it to win it ! #include <bits/stdc++.h> using namespace std; #define ll long long #define int ll #define F first #define S second #define mp make_pair #define pii pair<int, int> #define pb push_back #define pf push_front #define arr_fill(a, n) for(ll i = 0 ; i < n ; i++){cin >> a[i];} #define arr_fill_sum(a,n,sum) for (ll i = 0 ; i < n ; i++){cin >> a[i];sum+=a[i];} #define arr_out(a,n) for (ll i = 0 ; i < n ; i++){cout << a[i] <<" ";} #define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); const ll MAXN = 1e6 + 5; const ll MOD = 1e9 + 7; const ll INF = 1e18 + 7; ll pw(ll a, ll b){return b == 0 ? 1LL : (pw(a * a , b / 2) * (b % 2 == 0 ? 1LL : a));} stack < int > s; double x[MAXN], r[MAXN]; void solve () { int n; cin >> n ; cout << fixed << setprecision(3); for(int i = 0; i < n; i++) { cin >> x[i] >> r[i]; if (s.empty()) {s.push(i); cout << r[i] <<"\n"; continue;} double vd = ((double)(pw(x[i] - x[s.top()], 2)/(4 * r[s.top()]))); s.push(i); if (vd > r[i]) {cout << r[i] << "\n" ;s.pop();} else {cout << vd << "\n" ; r[i] = vd;} } } int32_t main() { fast int t = 1; //cin >> t; while (t--) { solve(); } return 0; } ///Thanks GOD :))
#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...