Submission #625682

#TimeUsernameProblemLanguageResultExecution timeMemory
625682AmirAli_H1Balloons (CEOI11_bal)C++17
100 / 100
208 ms14792 KiB
// In the name of Allah #include <bits/stdc++.h> using namespace std; typedef long long int ll; typedef long double ld; #define all(x) (x).begin(),(x).end() #define F first #define S second #define pb push_back #define sep ' ' #define endl '\n' #define Mp make_pair #define kill(x) cout << x << '\n', exit(0); #define set_dec(x) cout << fixed << setprecision(x); #define file_io(x,y) freopen(x, "r", stdin); freopen(y, "w", stdout); int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; cin >> n; pair<ld, ld> arr[n]; for (int i = 0; i < n; i++) cin >> arr[i].F >> arr[i].S; vector<int> st; ld ans[n]; for (int i = 0; i < n; i++) { ld r = arr[i].S; while (st.size() > 0 && ans[st[st.size() - 1]] <= min(r, pow(arr[i].F - arr[st[st.size() - 1]].F, 2) / (4 * ans[st[st.size() - 1]]))) { r = min(r, pow(arr[i].F - arr[st[st.size() - 1]].F, 2) / (4 * ans[st[st.size() - 1]])); st.pop_back(); } if (st.size() > 0) { r = min(r, pow(arr[i].F - arr[st[st.size() - 1]].F, 2) / (4 * ans[st[st.size() - 1]])); } ans[i] = r; st.pb(i); } set_dec(3); for (int i = 0; i < n; i++) { cout << ans[i] << endl; } 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...