#include<bits/stdc++.h>
#define double long double
using namespace std;
const int PRECISION = 3;
int32_t main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int n;
cin >> n;
vector<double> ans(n);
stack<array<double,2>> s;
for(int i=0;i<n;i++)
{
double x, mx;
cin >> x >> mx;
while(s.size())
{
double sonx = s.top()[0], sonmx = s.top()[1];
double res = (x-sonx)*(x-sonx)/(4*sonmx);
mx = min(mx,res);
if(mx>=s.top()[1])
{
s.pop();
}
else
break;
}
s.push({x,mx});
//cout << x << " "<< mx << endl;
ans[i] = mx;
}
cout << fixed << setprecision(PRECISION);
for(double x:ans)
{
cout << x << " ";
cout << endl;
}
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |