QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#504437#5505. Great Chaseucup-team1525#WA 381ms3952kbC++20861b2024-08-04 12:57:082024-08-04 12:57:11

Judging History

你现在查看的是最新测评结果

  • [2024-08-04 12:57:11]
  • 评测
  • 测评结果:WA
  • 用时:381ms
  • 内存:3952kb
  • [2024-08-04 12:57:08]
  • 提交

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'