CSES - BAPC 2017 - Results
Submission details
Task:Amsterdam Distance
Sender:Antti Röyskö
Submission time:2017-10-24 18:28:02 +0300
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.03 sdetails
#2ACCEPTED0.04 sdetails
#3ACCEPTED0.04 sdetails
#4ACCEPTED0.05 sdetails
#5ACCEPTED0.02 sdetails
#6ACCEPTED0.03 sdetails
#7ACCEPTED0.04 sdetails
#8ACCEPTED0.04 sdetails
#9ACCEPTED0.03 sdetails
#10ACCEPTED0.04 sdetails
#11ACCEPTED0.04 sdetails
#12ACCEPTED0.03 sdetails
#13ACCEPTED0.04 sdetails
#14ACCEPTED0.04 sdetails
#15ACCEPTED0.03 sdetails
#16ACCEPTED0.03 sdetails
#17ACCEPTED0.02 sdetails
#18ACCEPTED0.05 sdetails
#19ACCEPTED0.04 sdetails
#20ACCEPTED0.05 sdetails
#21ACCEPTED0.04 sdetails
#22ACCEPTED0.03 sdetails
#23ACCEPTED0.05 sdetails
#24ACCEPTED0.04 sdetails
#25ACCEPTED0.04 sdetails
#26ACCEPTED0.04 sdetails
#27ACCEPTED0.03 sdetails
#28ACCEPTED0.04 sdetails
#29ACCEPTED0.04 sdetails
#30ACCEPTED0.03 sdetails

Code

#include <bits/stdc++.h>
using namespace std;
typedef long double ld;
int main() {
	int n,m;
	cin>>m>>n;
	ld r;
	cin>>r;
	int ax, ay,bx,by;
	cin>>ax>>ay>>bx>>by;
	if(ay > by) {
		swap(ax, bx);
		swap(ay, by);
	}
	ld mi = 1e9;
	int dx = abs(ax-bx);
	for(int i = 0; i <= by; ++i) {
		ld ans = atan(1)*4*(r/n)*i/m*dx;
		ans += (abs(ay-i)+abs(i-by))*r/n;
		mi = min(mi, ans);
	}
	cout<<fixed<<setprecision(15)<<mi<<'\n';


}

Test details

Test 1

Verdict: ACCEPTED

input
100 100 1000
0 100 100 100

correct output
2000

user output
2000.000000000000000

Test 2

Verdict: ACCEPTED

input
10 1 1.0
3 1 5 1

correct output
0.628318530717959

user output
0.628318530717959

Test 3

Verdict: ACCEPTED

input
90 90 1000
0 90 50 89

correct output
1737.04781586106

user output
1737.047815861059181

Test 4

Verdict: ACCEPTED

input
77 100 10.0
10 20 59 40

correct output
5.99839065002337

user output
5.998390650023373

Test 5

Verdict: ACCEPTED

input
77 100 10.0
10 20 58 40

correct output
5.91679084083922

user output
5.916790840839223

Test 6

Verdict: ACCEPTED

input
77 100 10.0
10 20 60 40

correct output
6

user output
6.000000000000000

Test 7

Verdict: ACCEPTED

input
94 89 834.224666298746198
88 58 88 78

correct output
187.466217145786

user output
187.466217145785662

Test 8

Verdict: ACCEPTED

input
86 58 132.780101674766157
61 15 37 42

correct output
91.9178334394494

user output
91.917833439449364

Test 9

Verdict: ACCEPTED

input
48 48 949.580203857717765
0 17 22 10

correct output
423.334058520663

user output
423.334058520663240

Test 10

Verdict: ACCEPTED

input
24 77 800.457601608713411
22 2 2 51

correct output
550.964323185218

user output
550.964323185218322

Test 11

Verdict: ACCEPTED

input
77 65 15.701332933422467
21 23 2 41

correct output
8.65495113586997

user output
8.654951135869973

Test 12

Verdict: ACCEPTED

input
27 88 503.951696883614473
20 64 12 41

correct output
350.272388441182

user output
350.272388441182443

Test 13

Verdict: ACCEPTED

input
20 38 459.104966497621950
8 7 20 19

correct output
304.394918838648

user output
304.394918838648307

Test 14

Verdict: ACCEPTED

input
78 18 317.374100202220837
11 4 43 18

correct output
337.746592272152

user output
337.746592272151738

Test 15

Verdict: ACCEPTED

input
70 17 890.350623394215674
14 14 32 11

correct output
622.523687792024

user output
622.523687792024102

Test 16

Verdict: ACCEPTED

input
86 55 776.267024418476987
68 14 79 37

correct output
404.020771795954

user output
404.020771795953539

Test 17

Verdict: ACCEPTED

input
75 17 242.793784206116952
68 17 39 6

correct output
261.196052816555

user output
261.196052816555083

Test 18

Verdict: ACCEPTED

input
26 90 223.974792648645571
4 74 21 20

correct output
233.929227877474

user output
233.929227877474263

Test 19

Verdict: ACCEPTED

input
91 41 998.270738973855221
32 40 61 8

correct output
974.149964218165

user output
974.149964218165444

Test 20

Verdict: ACCEPTED

input
68 85 757.685961963360792
43 15 61 25

correct output
200.331908326952

user output
200.331908326951895

Test 21

Verdict: ACCEPTED

input
65 92 578.920341273201517
59 50 48 84

correct output
381.223494038536

user output
381.223494038536377

Test 22

Verdict: ACCEPTED

input
33 77 790.247938932401860
20 39 7 13

correct output
431.95529507812

user output
431.955295078119969

Test 23

Verdict: ACCEPTED

input
9 61 482.495860237616059
9 5 8 13

correct output
77.0832954219641

user output
77.083295421964057

Test 24

Verdict: ACCEPTED

input
75 13 742.153102644523069
19 11 20 11

correct output
26.3045847037702

user output
26.304584703770214

Test 25

Verdict: ACCEPTED

input
20 17 261.780654789729291
10 5 12 1

correct output
66.4331433736971

user output
66.433143373697123

Test 26

Verdict: ACCEPTED

input
28 21 156.969628799131283
24 6 13 21

correct output
167.473009952367

user output
167.473009952366674

Test 27

Verdict: ACCEPTED

input
78 31 310.031404611738786
16 3 10 9

correct output
67.2566419579323

user output
67.256641957932296

Test 28

Verdict: ACCEPTED

input
47 29 895.835934748884703
38 29 41 20

correct output
401.907333737717

user output
401.907333737717327

Test 29

Verdict: ACCEPTED

input
77 48 10.034875183687164
5 30 28 18

correct output
6.03998311542924

user output
6.039983115429236

Test 30

Verdict: ACCEPTED

input
63 6 130.738644075830671
45 5 4 4

correct output
196.107966113746

user output
196.107966113746007