Problem Statement
You are walking home from school through the city. The city is infinite in size, with vertical streets located at every integer X value and horizontal streets located at every Y value. You are currently located at (0,0) and are trying to get to your home, located at (X, Y). You have two methods of travel available to you: you can walk along the street to proceed to a horizontally or vertically adjacent intersection (which takes walkTime seconds), or you can sneak across the block diagonally to the opposite corner (taking sneakTime seconds). You can walk or sneak in any of the eight directions shown in the image (see example 2).

Return the least amount of time that it will take you to return home. See the examples for clarification.
Definition
- Class:
- StreetWalking
- Method:
- minTime
- Parameters:
- int, int, int, int
- Returns:
- long
- Method signature:
- long minTime(int X, int Y, int walkTime, int sneakTime)
- (be sure your method is public)
Constraints
- X will be between 0 and 1,000,000,000, inclusive.
- Y will be between 0 and 1,000,000,000, inclusive.
- walkTime will be between 1 and 10000, inclusive.
- sneakTime will be between 1 and 10000, inclusive.
Examples
4
2
3
10
Returns: 18
The fastest way to your home is to not sneak at all.
4
2
3
5
Returns: 16
In this case, it is faster to sneak across twice, following the path (0,0)->(1,0)->(2,1)->(3,1)->(4,2). This takes 10 seconds for the sneaking, and 6 seconds for the walking.
2
0
12
10
Returns: 20
One possible path is (0,0)->(1,1)->(2,0).
1000000
1000000
1000
1000
Returns: 1000000000
Formerly the maximal return
0
0
12
25
Returns: 0
Minimal return
25
18
7
11
Returns: 247
25
18
7
6
Returns: 151
24
16
12
10
Returns: 240
1000000000
1000000000
10000
10000
Returns: 10000000000000
New maximum return.
37
18
12
25
Returns: 660
53437378
43542123
37
12
Returns: 641248561
453543573
453573787
1234
6789
Returns: 1119382822240
453543573
453573787
6789
1234
Returns: 559710053158
453543573
453573787
6789
7890
Returns: 3578663913816
239458
23535
10
1
Returns: 239467
239458
23535
10
15
Returns: 2512255
239458
23535
10
30
Returns: 2629930
23
131351355
249
302
Returns: 32706488614
123
456
78
90
Returns: 37044
The numbers look cool here :)
398527359
0
40
20
Returns: 7970547200
0
398527359
15
40
Returns: 5977910385
0
0
10000
10000
Returns: 0
1000000000
0
10000
8000
Returns: 8000000000000
0
1000000000
10000
7000
Returns: 7000000000000
1000000000
50000
1000
1500
Returns: 1000025000000
50000
1000000000
1000
2001
Returns: 1000050000000
1000000000
50000
1000
666
Returns: 666000000000
50001
1000000000
1000
666
Returns: 666000000334
1000000000
50001
1000
665
Returns: 665000000335
125
472
1
2
Returns: 597
10000000
50000000
800
901
Returns: 41010000000
135
122
43
29
Returns: 3929
3445333
545437122
345
354
Returns: 188206815087
100000000
100000000
2
2
Returns: 200000000
10000000
5
123
122
Returns: 1220000001
125
122313000
123
344
Returns: 15044514375
214748364
214748365
8
10
Returns: 2147483648
214748364
214748365
7
10
Returns: 2147483647
343454353
0
951
950
Returns: 326281635351
999999999
0
1000
1
Returns: 1000000998
1
1
4
6
Returns: 6
100
100
100
100
Returns: 10000
1000000000
999999997
4999
10000
Returns: 9997999985003
1
1
1
100
Returns: 2
2
3
3
4
Returns: 11
1000000000
1000000000
4999
9999
Returns: 9998000000000
2
1
100
10
Returns: 110
11234
3214
100
3
Returns: 33702
1000000000
1000000000
1
10
Returns: 2000000000
10000000
9758463
11
12
Returns: 119758463
932859771
1000000000
9835
5431
Returns: 5431000004404
1
2
5
3
Returns: 8
2
2
10
100
Returns: 40
1000000000
0
10000
9999
Returns: 9999000000000
1000000000
1000000000
10000
50
Returns: 50000000000
999999999
999999997
5
7
Returns: 6999999989
1000000000
999999999
324
1000
Returns: 647999999676
999999999
899899899
98
76
Returns: 75999999924
10000000
9758463
50
12
Returns: 120000038
3
5
100
1
Returns: 5
1000000000
1000000000
499
1000
Returns: 998000000000
1
2
1000
1
Returns: 1001
136
123
43
29
Returns: 3958
1000000000
1000000000
1
1
Returns: 1000000000
1000000000
1000000000
400
1000
Returns: 800000000000
100000000
100000000
10000
10000
Returns: 1000000000000
1
3
296
300
Returns: 892
7
7
10
2
Returns: 14
3
1
100
1
Returns: 3
1000000000
1000000000
5
20
Returns: 10000000000
100000
1
10000
1
Returns: 109999
0
5
100
99
Returns: 496
1000000000
1000000000
4999
10000
Returns: 9998000000000
1000000000
1000000000
10000
9999
Returns: 9999000000000
0
0
10
1000
Returns: 0
30
10
10
30
Returns: 400
135
122
60
29
Returns: 3946
1000000000
1000000000
1000
2000
Returns: 2000000000000
999
988
100
10000
Returns: 198700
5
1
3
2
Returns: 10
1000000000
1000000000
1000
10000
Returns: 2000000000000
1000000000
1000000000
1000
3000
Returns: 2000000000000
1
1
10
90
Returns: 20
3
0
3
2
Returns: 7
2
1
5
2
Returns: 7
1000000000
1000000000
5000
10000
Returns: 10000000000000
1
1
15
10
Returns: 10
1000000000
1000000000
10000
1
Returns: 1000000000
7
1
4
3
Returns: 21
3
0
10
100
Returns: 30
100
100
24
50
Returns: 4800