# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
706388 | vjudge1 | Balloons (CEOI11_bal) | C++11 | 153 ms | 2016 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<iostream>
#include<vector>
using namespace std;
const long double absdiff = 0;
vector<pair<long double,long double> > curr;
int n;
long double findval(int pos, long double x) {
return (curr[pos].first-x)*(curr[pos].first-x)/4.0/curr[pos].second;
}
bool isPoss(int pos, long double x) {
if(pos <= 0) return true;
if(pos >= curr.size()) return false;
return (findval(pos,x)+absdiff < findval(pos-1,x));
}
int main () {
scanf("%d",&n);
for(int i = 0; i < n; i++) {
long double x,rad;
scanf("%Lf%Lf",&x,&rad);
if(curr.size() > 0) {
int l = -1, r = curr.size();
while(l+1 < r) {
int mid = (l+r)/2;
if(isPoss(mid,x) == true) l = mid;
else r = mid;
}
rad = min(rad,findval(l,x));
}
while(curr.size() > 0 && rad+absdiff > curr.back().second) {
curr.pop_back();
}
curr.push_back(make_pair(x,rad));
printf("%.3Lf\n",rad);
}
return 0;
}
Compilation message (stderr)
# | 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... |