QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#105057 | #5505. Great Chase | kingstonduy | WA | 1637ms | 3604kb | C++23 | 1.4kb | 2023-05-12 21:28:53 | 2023-05-12 21:28:55 |
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 ( 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 ;
} else {
r = mid ;
}
}
cout << fixed << setprecision(10) << res * v << endl;
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 2ms
memory: 3576kb
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.2500000000 1.2307692308 3000000000000.0000000000
result:
ok 3 numbers
Test #2:
score: -100
Wrong Answer
time: 1637ms
memory: 3604kb
input:
10000 200 997007 405524182320 754760 686939601648 419804 687047488212 715566 1446157132 4594 -670522037 4673 763634629282 253755 424307411732 275041 1582708381 8473 -667425982 4622 -522841486 1427 702430907988 460271 1405423646 1060 1497754648 6227 883363410675 723547 56899800372 46435 -810216390 64...
output:
145405766328.3490905762 16414958969.7272777557 5202715639.8351831436 321977234.1563258767 45384199210.2216796875 183885744.7692307532 1708925225.2304723263 89786664971.5579376221 13924365606.2873878479 412975327.5555555224 965508404.5121014118 4703493416.2883758545 352961619.3810438514 5575125771.79...
result:
wrong answer 6598th numbers differ - expected: '2.0000000', found: '2000000000000.0000000', error = '999999999999.0000000'