QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#140740#5151. Bottle FlipAnwar_Gehad_Maghraby#AC ✓1ms3840kbC++231019b2023-08-16 18:46:382023-08-16 18:46:40

Judging History

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

  • [2023-08-16 18:46:40]
  • 评测
  • 测评结果:AC
  • 用时:1ms
  • 内存:3840kb
  • [2023-08-16 18:46:38]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

int h, r, da, dw;
const double PI = acos(-1);

double calc(double wh){
    double water_center = wh * 0.5;
    double air_center = (h - wh) * 0.5 + wh;
    double d = (air_center - water_center);

    double v_water = wh * PI * r * r;
    double v_air = (h - wh) * PI * r * r;

    double weight_water = dw * v_water;
    double weight_air = da * v_air;

    double take = d * (1.0 * weight_air / (weight_air + weight_water));
    return water_center + take;
}


int main() {
    cin.tie(0);cin.sync_with_stdio(0);
    cout.tie(0);cout.sync_with_stdio(0);

    cin>>h>>r>>da>>dw;
    double eps = 1e-10;
    double L= 0, R= h, ans;
    while(R - L > eps)
    {
        double m1= L + (R - L) / 3;
        double m2= R - (R - L) / 3;
        double f1 = -calc(m1);
        double f2 = -calc(m2);
        if(f1 < f2)
            L= m1;
        else
            R= m2, ans= R;
    }

    cout<<fixed<<setprecision(10)<<ans<<"\n";
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3652kb

input:

22 4 1 4

output:

7.3333333066

result:

ok found '7.3333333', expected '7.3333333', error '0.0000000'

Test #2:

score: 0
Accepted
time: 1ms
memory: 3652kb

input:

7 2 655 988

output:

3.1415941543

result:

ok found '3.1415942', expected '3.1415942', error '0.0000000'

Test #3:

score: 0
Accepted
time: 1ms
memory: 3652kb

input:

1 1 1 2

output:

0.4142135545

result:

ok found '0.4142136', expected '0.4142136', error '0.0000000'

Test #4:

score: 0
Accepted
time: 0ms
memory: 3652kb

input:

1000 1000 999 1000

output:

499.8747862616

result:

ok found '499.8747863', expected '499.8749375', error '0.0000003'

Test #5:

score: 0
Accepted
time: 1ms
memory: 3720kb

input:

1000 1000 1 1000

output:

30.6534301344

result:

ok found '30.6534301', expected '30.6534300', error '0.0000000'

Test #6:

score: 0
Accepted
time: 1ms
memory: 3680kb

input:

1 1000 1 1000

output:

0.0306534300

result:

ok found '0.0306534', expected '0.0306534', error '0.0000000'

Test #7:

score: 0
Accepted
time: 1ms
memory: 3740kb

input:

1000 1000 482 483

output:

499.7408491661

result:

ok found '499.7408492', expected '499.7409326', error '0.0000002'

Test #8:

score: 0
Accepted
time: 1ms
memory: 3736kb

input:

1 1000 482 483

output:

0.4997408241

result:

ok found '0.4997408', expected '0.4997409', error '0.0000001'

Test #9:

score: 0
Accepted
time: 1ms
memory: 3824kb

input:

1 1000 1 2

output:

0.4142135549

result:

ok found '0.4142136', expected '0.4142136', error '0.0000000'

Test #10:

score: 0
Accepted
time: 1ms
memory: 3728kb

input:

1000 1000 1 2

output:

414.2135593967

result:

ok found '414.2135594', expected '414.2135624', error '0.0000000'

Test #11:

score: 0
Accepted
time: 1ms
memory: 3676kb

input:

961 1000 979 983

output:

480.0101051673

result:

ok found '480.0101052', expected '480.0101932', error '0.0000002'

Test #12:

score: 0
Accepted
time: 1ms
memory: 3720kb

input:

997 1000 977 983

output:

497.7368832887

result:

ok found '497.7368833', expected '497.7369880', error '0.0000002'

Test #13:

score: 0
Accepted
time: 1ms
memory: 3732kb

input:

1 928 1 66

output:

0.1096005900

result:

ok found '0.1096006', expected '0.1096006', error '0.0000000'

Test #14:

score: 0
Accepted
time: 1ms
memory: 3632kb

input:

1 928 2 88

output:

0.1310058021

result:

ok found '0.1310058', expected '0.1310058', error '0.0000000'

Test #15:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

1 928 3 74

output:

0.1676009057

result:

ok found '0.1676009', expected '0.1676009', error '0.0000000'

Test #16:

score: 0
Accepted
time: 1ms
memory: 3732kb

input:

1 928 3 41

output:

0.2129088542

result:

ok found '0.2129089', expected '0.2129089', error '0.0000000'

Test #17:

score: 0
Accepted
time: 1ms
memory: 3732kb

input:

1 928 1 12

output:

0.2240092360

result:

ok found '0.2240092', expected '0.2240092', error '0.0000000'

Test #18:

score: 0
Accepted
time: 1ms
memory: 3732kb

input:

2 928 89 93

output:

0.9890096257

result:

ok found '0.9890096', expected '0.9890097', error '0.0000000'

Test #19:

score: 0
Accepted
time: 0ms
memory: 3724kb

input:

7 928 51 72

output:

3.1990098032

result:

ok found '3.1990098', expected '3.1990099', error '0.0000000'

Test #20:

score: 0
Accepted
time: 1ms
memory: 3736kb

input:

722 547 709 752

output:

355.6863785668

result:

ok found '355.6863786', expected '355.6863918', error '0.0000000'

Test #21:

score: 0
Accepted
time: 1ms
memory: 3636kb

input:

242 742 518 920

output:

103.7429017887

result:

ok found '103.7429018', expected '103.7429035', error '0.0000000'

Test #22:

score: 0
Accepted
time: 1ms
memory: 3724kb

input:

873 701 43 201

output:

276.0875489484

result:

ok found '276.0875489', expected '276.0875558', error '0.0000000'

Test #23:

score: 0
Accepted
time: 1ms
memory: 3720kb

input:

268 228 527 562

output:

131.8460846149

result:

ok found '131.8460846', expected '131.8460919', error '0.0000001'

Test #24:

score: 0
Accepted
time: 1ms
memory: 3836kb

input:

312 558 341 839

output:

121.4683820187

result:

ok found '121.4683820', expected '121.4683851', error '0.0000000'

Test #25:

score: 0
Accepted
time: 1ms
memory: 3724kb

input:

274 85 178 364

output:

112.7564869210

result:

ok found '112.7564869', expected '112.7564907', error '0.0000000'

Test #26:

score: 0
Accepted
time: 1ms
memory: 3632kb

input:

641 539 341 977

output:

238.0544351119

result:

ok found '238.0544351', expected '238.0544387', error '0.0000000'

Test #27:

score: 0
Accepted
time: 1ms
memory: 3828kb

input:

245 861 438 872

output:

101.6183829739

result:

ok found '101.6183830', expected '101.6183839', error '0.0000000'

Test #28:

score: 0
Accepted
time: 1ms
memory: 3720kb

input:

640 181 156 606

output:

215.4198341184

result:

ok found '215.4198341', expected '215.4198349', error '0.0000000'