Submission #1266738

#TimeUsernameProblemLanguageResultExecution timeMemory
1266738nlsosadBalloons (CEOI11_bal)C++20
10 / 100
164 ms11244 KiB
#include <bits/stdc++.h>
#define int long long
using ld = long double;
#define f first
#define s second
using namespace std;
pair<int, ld> a[200001];
ld res[200001];
signed main(){
	int n;
	cin >> n;
	for (int i = 1;i<=n;++i){
		cin >> a[i].f >> a[i].s;
	}
	vector<int> luu;
	luu.push_back(1);
	res[1] = a[1].s;
	for (int j = 2;j<=n;++j){
		res[j] = a[j].s;
		while(!luu.empty()){
			int i = luu.back();
			ld sol= (a[i].f-a[j].f)*(a[i].f-a[j].f);
			sol /= (4.0 * a[i].s);
			if(sol < res[j]){
				res[j] = sol;
			}
			if(res[j] < res[i])break;
			luu.pop_back();
		}
		luu.push_back(j);
	}
	for (int i = 1;i<=n;++i){
		cout << fixed << setprecision(3) << res[i] << '\n';
	}
}
#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...