제출 #625682

#제출 시각아이디문제언어결과실행 시간메모리
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...