Submission #1198553

#TimeUsernameProblemLanguageResultExecution timeMemory
1198553Born_To_LaughBalloons (CEOI11_bal)C++17
100 / 100
98 ms7616 KiB
// Born_To_Laugh - Hughie Do #include <bits/stdc++.h> #define alle(sth) sth.begin(), sth.end() using namespace std; typedef long long ll; typedef long double ld; [[maybe_unused]] const ll MOD = 998244353, INF = 1e9 + 7; const int maxn = 2e5 + 10; int n; vector<int> x(maxn, 0), r(maxn, 0); vector<ld> val(maxn, 0.0); ld func(int i, int j){ ld num = (ld)(x[i] - x[j]) * (x[i] - x[j]); ld num1 = (ld)4 * val[j]; return num / num1; } void solve(){ cin >> n; for(int i=1; i<=n; ++i){ cin >> x[i] >> r[i]; } vector<int> st; for(int i=1; i<=n; ++i){ val[i] = ld(r[i]); while(!st.empty()){ int j = st.back(); val[i] = min(val[i], func(i, j)); if(val[i] > val[j]){ st.pop_back(); continue; } break; } st.push_back(i); cout << val[i] << '\n'; } // cout << func(3, 1); } signed main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); cout << fixed << setprecision(7); solve(); } // Lotus
#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...