#include <iostream>
#include <iomanip>
#include <stack>
using namespace std;
int n;
struct ballon
{ double x,r;
}b,c;
stack <ballon> s;
int main()
{ cin>>n;
for(int i=1;i<=n;i++)
{ cin>>b.x>>b.r;
while(!s.empty())
{ c=s.top();
b.r=min(b.r,(c.x-b.x)*(c.x-b.x)/(4*c.r));
if(b.r>c.r)
s.pop();
else
break;
}
s.push(b);
cout<<fixed<<setprecision(3)<<b.r<<'\n';
}
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
256 KB |
10 numbers |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
256 KB |
2 numbers |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
6 ms |
384 KB |
505 numbers |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
13 ms |
384 KB |
2000 numbers |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
86 ms |
708 KB |
20000 numbers |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
220 ms |
1656 KB |
50000 numbers |
2 |
Correct |
226 ms |
2044 KB |
49912 numbers |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
441 ms |
2880 KB |
100000 numbers |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
505 ms |
3324 KB |
115362 numbers |
2 |
Correct |
522 ms |
4348 KB |
119971 numbers |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
662 ms |
4064 KB |
154271 numbers |
2 |
Correct |
905 ms |
7088 KB |
200000 numbers |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
856 ms |
4816 KB |
200000 numbers |
2 |
Correct |
873 ms |
7204 KB |
199945 numbers |