이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int M=998244353;
void solve(){
int x;
cin>>x;
pair<int, int> arr[x];
long double ans[x];
for(int i=0; i<x; i++){
cin>>arr[i].first>>arr[i].second;
}
stack<pair<int, long double>> s;
for(int i=0; i<x; i++){
long double r=arr[i].second;
while(!s.empty()){
r=min(r, (arr[i].first-s.top().first)*(arr[i].first-s.top().first)/(4*s.top().second));
if(r>=s.top().second) s.pop();
else break;
}
ans[i]=r;
s.push({arr[i].first, ans[i]});
}
for(int i=0; i<x; i++) cout<<fixed<<setprecision(3)<<ans[i]<<'\n';
}
signed main(){
//freopen("in", "r", stdin); //freopen("out", "w", stdout);
cin.tie(0)->sync_with_stdio(0);
int t=1; //cin>>t;
while(t--) solve();
}
# | 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... |