QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#105049 | #5505. Great Chase | kingstonduy | WA | 0ms | 3544kb | C++23 | 1.4kb | 2023-05-12 21:15:32 | 2023-05-12 21:15:37 |
Judging History
answer
#include <iostream>
#include <iomanip>
#include <vector>
#include <limits>
using namespace std;
int main() {
int tc;
cin >> tc;
while (tc != 0) {
tc--;
double n, v;
cin >> n >> v;
vector<pair<double, double>> a;
for (int i = 0; i < n; i++) {
double pi, vi;
cin >> pi >> vi;
a.push_back(make_pair(pi, vi));
}
double l = 0;
double r = 1e12;
double res = 0;
double e = 0.0000000001;
int cnt = 100;
while (l <= r && l + e < r && cnt != 0) {
cnt--;
double mid = (l + r) / 2;
double ls = -1e18;
double rs = 1e18;
for (int i = 0; i < n; i++) {
double temp1 = a[i].first;
double temp2 = a[i].second;
double dis = temp2 * mid;
if (temp1 < 0) {
ls = max(ls, temp1 + dis);
} else if (temp1 == temp2) {
rs = mid;
break;
} else {
rs = min(rs, temp1 - dis);
}
}
if (ls <= rs) {
res = max(res, mid);
l = mid + e;
} else {
r = mid - e;
}
}
cout << fixed << setprecision(7) << res * v << endl;
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3544kb
input:
3 4 9 10 2 -7 2 -6 1 7 1 2 8 -1 7 1 6 2 3 -1000000000000 1 1000000000000 1
output:
38.2500000 1.2307692 3000000000000.0000000
result:
wrong answer 2nd numbers differ - expected: '1.2307692', found: '1.2307692', error = '0.0000000'