#include<iostream>
#include<vector>
#include<algorithm>
#include<numeric>
#include<complex>
#include<map>
#include<iomanip>
using namespace std;
#define eps 1e-6
int n;
vector<pair<double, double>>balloons;
vector<double>res;
double dist(pair<double, double>a,pair<double,double>b){
return sqrt((a.first-b.first)*(a.first-b.first)+(a.second-b.second)*(a.second-b.second));
}
bool check(double mid, int indx){
for(int i = indx-1;i>=0;--i){
if(dist({balloons[i].first, res[i]},{balloons[indx].first, mid})-(res[i]+mid)< eps)return true;
}
return false;
}
int main(){
cin >> n;
balloons.resize(n);
for(int i = 0;i<n;++i){
cin >> balloons[i].first >> balloons[i].second;
}
res.resize(n);
res[0]=balloons[0].second;
for(int i = 1;i<n;++i){
double l = 1, r = balloons[i].second+1;
while(r-l>eps){
double mid = (l+r)/2;
if(check(mid, i)){
r = mid;
}
else l = mid;
}
res[i]=min(r,balloons[i].second);
}
for(double i : res)cout << fixed << setprecision(6)<< i << '\n';
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
212 KB |
10th numbers differ - expected: '0.5150000000', found: '1.0000010000', error = '0.4850010000' |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
212 KB |
2 numbers |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
4 ms |
212 KB |
2nd numbers differ - expected: '0.0010000000', found: '1.0000010000', error = '0.9990010000' |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
93 ms |
340 KB |
113th numbers differ - expected: '0.2500000000', found: '1.0000000000', error = '0.7500000000' |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
2078 ms |
752 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
2066 ms |
1484 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
2068 ms |
2624 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
2069 ms |
2892 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
2028 ms |
3852 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
2070 ms |
5068 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |