QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#504437 | #5505. Great Chase | ucup-team1525# | WA | 381ms | 3952kb | C++20 | 861b | 2024-08-04 12:57:08 | 2024-08-04 12:57:11 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define ll long long
vector<pair<ll,int> > f,g;
void solve()
{
ll x;
int v,n,v0;
scanf("%d%d",&n,&v0);
f.clear();
g.clear();
for (int i=1;i<=n;++i)
{
scanf("%lld%d",&x,&v);
if (x>0)
f.emplace_back(x,v);
else
g.emplace_back(x,v);
}
double l=0,r=1e12;
for (int i=1;i<=80;++i)
{
double mid=(l+r)/2;
double mnf=1e12,mxg=-1e12;
for (auto [x,v]:f)
mnf=min(mnf,x-v*mid);
for (auto [x,v]:g)
mxg=max(mxg,x+v*mid);
if (mnf<mxg)
r=mid;
else
l=mid;
}
printf("%.10lf\n",(l+r)/2*v0);
}
int main()
{
int t;
scanf("%d",&t);
while (t--)
{
solve();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3872kb
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: 381ms
memory: 3952kb
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.3491210938 16414958969.7272777557 5202715639.8351840973 321977234.1563257575 45384199210.2216873169 183885744.7692307830 1708925225.2304725647 89786664971.5579528809 13924365606.2873897552 412975327.5555554628 965508404.5121011734 4703493416.2883768082 352961619.3810437918 5575125771.79...
result:
wrong answer 4566th numbers differ - expected: '1.0000010', found: '1.0000014', error = '0.0000004'