Submission details
Task:Rain Fall
Sender:z
Submission time:2016-10-04 16:44:11 +0300
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.04 sdetails
#3ACCEPTED0.04 sdetails
#4ACCEPTED0.04 sdetails
#5ACCEPTED0.02 sdetails
#6ACCEPTED0.03 sdetails
#7ACCEPTED0.03 sdetails
#8ACCEPTED0.04 sdetails
#9ACCEPTED0.03 sdetails
#10ACCEPTED0.04 sdetails
#11ACCEPTED0.04 sdetails
#12ACCEPTED0.04 sdetails
#13ACCEPTED0.04 sdetails
#14ACCEPTED0.04 sdetails
#15ACCEPTED0.04 sdetails
#16ACCEPTED0.05 sdetails
#17ACCEPTED0.05 sdetails
#18ACCEPTED0.03 sdetails
#19ACCEPTED0.04 sdetails
#20ACCEPTED0.04 sdetails
#21ACCEPTED0.04 sdetails
#22ACCEPTED0.02 sdetails
#23ACCEPTED0.04 sdetails
#24ACCEPTED0.04 sdetails
#25ACCEPTED0.05 sdetails
#26ACCEPTED0.03 sdetails
#27ACCEPTED0.04 sdetails
#28ACCEPTED0.04 sdetails
#29ACCEPTED0.04 sdetails
#30ACCEPTED0.04 sdetails
#31ACCEPTED0.04 sdetails
#32ACCEPTED0.03 sdetails
#33ACCEPTED0.03 sdetails
#34ACCEPTED0.03 sdetails
#35ACCEPTED0.05 sdetails
#36ACCEPTED0.05 sdetails

Code

#include <iostream>
#include <iomanip>
using namespace std;
long double L, K, T1, T2, H;




long double en(long double h){
  long double b=h;
  if (b>L){
    long double btgl=L/(h/T1);
    b-=K*(T2+T1-btgl);
    if (b<L) b=L;
  }
  return b;
}


long double mn(){
  long double a=0;
  long double b=1e10;
  for (int i=0; i<500; ++i){
    long double m=(a+b)/2;
    if (en(m)<H) a=m;
    else b=m;
  }
  return a;
}

long double mx(){
  long double a=0;
  long double b=1e10;
  for (int i=0; i<500; ++i){
    long double m=(a+b)/2;
    if (en(m)>H) b=m;
    else a=m;
  }
  return a;
}


int main(){
  cin >> L >> K >> T1 >> T2 >> H;
  cout << setprecision(20) << mn() << " " << setprecision(20) << mx() << "\n";
  
}

Test details

Test 1

Verdict: ACCEPTED

input
80.00 0.50 2.00 1.50 80.00

correct output
80.000000000 80.759403280

user output
79.999999999999999993 80.75940...

Test 2

Verdict: ACCEPTED

input
100.00 0.50 2.00 1.50 80.00

correct output
80.000000000 80.000000000

user output
79.999999999999999993 80

Test 3

Verdict: ACCEPTED

input
150.00 1.00 100.00 150.00 100....

correct output
100.000000000 100.000000000

user output
99.999999999999999993 100

Test 4

Verdict: ACCEPTED

input
150.00 1.00 100.00 150.00 150....

correct output
150.000000000 358.113883008

user output
149.99999999999999999 358.1138...

Test 5

Verdict: ACCEPTED

input
150.00 1.00 100.00 15.00 415.0...

correct output
500.000000000 500.000000000

user output
499.99999999999999997 500

Test 6

Verdict: ACCEPTED

input
50.00 5.00 2.00 2.00 40.00

correct output
40.000000000 40.000000000

user output
39.999999999999999997 40

Test 7

Verdict: ACCEPTED

input
50.00 5.00 2.00 2.00 50.00

correct output
50.000000000 61.925824036

user output
49.999999999999999997 61.92582...

Test 8

Verdict: ACCEPTED

input
50.00 5.00 2.00 2.00 65.00

correct output
78.642080737 78.642080737

user output
78.642080737002400752 78.64208...

Test 9

Verdict: ACCEPTED

input
10.00 1.00 3.00 3.00 3.00

correct output
3.000000000 3.000000000

user output
2.9999999999999999998 3

Test 10

Verdict: ACCEPTED

input
10.00 1.00 3.00 3.00 10.00

correct output
10.000000000 13.830951895

user output
9.9999999999999999991 13.83095...

Test 11

Verdict: ACCEPTED

input
10.00 1.00 3.00 3.00 16.00

correct output
20.539392014 20.539392014

user output
20.53939201416945649 20.539392...

Test 12

Verdict: ACCEPTED

input
10.00 1.00 3.00 3.00 25.00

correct output
30.000000000 30.000000000

user output
29.999999999999999998 30

Test 13

Verdict: ACCEPTED

input
10.00 1.00 3.00 3.00 33.00

correct output
38.214967272 38.214967272

user output
38.214967272212901198 38.21496...

Test 14

Verdict: ACCEPTED

input
1.00 2.00 3.00 2.00 5.00

correct output
14.588723439 14.588723439

user output
14.5887234393789126 14.5887234...

Test 15

Verdict: ACCEPTED

input
6.00 2.00 3.00 2.00 7.00

correct output
14.520797289 14.520797289

user output
14.52079728939614774 14.520797...

Test 16

Verdict: ACCEPTED

input
11.00 2.00 3.00 2.00 11.00

correct output
11.000000000 17.152067348

user output
10.999999999999999999 17.15206...

Test 17

Verdict: ACCEPTED

input
16.00 2.00 3.00 2.00 15.00

correct output
15.000000000 15.000000000

user output
14.999999999999999999 15

Test 18

Verdict: ACCEPTED

input
21.00 2.00 3.00 2.00 15.00

correct output
15.000000000 15.000000000

user output
14.999999999999999999 15

Test 19

Verdict: ACCEPTED

input
26.00 2.00 3.00 2.00 15.00

correct output
15.000000000 15.000000000

user output
14.999999999999999999 15

Test 20

Verdict: ACCEPTED

input
31.00 2.00 3.00 2.00 15.00

correct output
15.000000000 15.000000000

user output
14.999999999999999999 15

Test 21

Verdict: ACCEPTED

input
25.00 2.00 1.00 1.00 10.00

correct output
10.000000000 10.000000000

user output
9.9999999999999999991 10

Test 22

Verdict: ACCEPTED

input
25.00 2.00 1.00 2.00 10.00

correct output
10.000000000 10.000000000

user output
9.9999999999999999991 10

Test 23

Verdict: ACCEPTED

input
25.00 2.00 1.00 3.00 10.00

correct output
10.000000000 10.000000000

user output
9.9999999999999999991 10

Test 24

Verdict: ACCEPTED

input
25.00 2.00 2.00 1.00 20.00

correct output
20.000000000 20.000000000

user output
19.999999999999999998 20

Test 25

Verdict: ACCEPTED

input
25.00 2.00 2.00 2.00 20.00

correct output
20.000000000 20.000000000

user output
19.999999999999999998 20

Test 26

Verdict: ACCEPTED

input
25.00 2.00 2.00 3.00 20.00

correct output
20.000000000 20.000000000

user output
19.999999999999999998 20

Test 27

Verdict: ACCEPTED

input
25.00 2.00 3.00 1.00 26.00

correct output
28.789826123 28.789826123

user output
28.789826122551595967 28.78982...

Test 28

Verdict: ACCEPTED

input
25.00 2.00 3.00 2.00 25.00

correct output
25.000000000 30.000000000

user output
24.999999999999999998 30

Test 29

Verdict: ACCEPTED

input
25.00 2.00 3.00 3.00 25.00

correct output
25.000000000 32.365424624

user output
24.999999999999999998 32.36542...

Test 30

Verdict: ACCEPTED

input
25.00 2.00 4.00 1.00 34.00

correct output
38.852299546 38.852299546

user output
38.852299546352717256 38.85229...

Test 31

Verdict: ACCEPTED

input
25.00 2.00 4.00 2.00 32.00

correct output
38.852299546 38.852299546

user output
38.85229954635271726 38.852299...

Test 32

Verdict: ACCEPTED

input
25.00 2.00 4.00 3.00 30.00

correct output
38.852299546 38.852299546

user output
38.85229954635271726 38.852299...

Test 33

Verdict: ACCEPTED

input
25.00 2.00 3.00 2.00 25.00

correct output
25.000000000 30.000000000

user output
24.999999999999999998 30

Test 34

Verdict: ACCEPTED

input
25.00 2.00 3.00 3.00 25.00

correct output
25.000000000 32.365424624

user output
24.999999999999999998 32.36542...

Test 35

Verdict: ACCEPTED

input
5.00 7.00 0.01 2.00 6.00

correct output
20.052545857 20.052545857

user output
20.052545857144852619 20.05254...

Test 36

Verdict: ACCEPTED

input
0.01 1000.00 1000.00 1000.00 1...

correct output
2000999.995002499 2000999.9950...

user output
2000999.995002498738 2000999.9...