Problem Statement
The intersection where the ith family member lives is defined by the following sequence:
xi = (a * yi-1 + b) % m, for i > 0. yi = (a * xi + b) % m, for i >= 0.with x0=0.
Definition
- Class:
- Manhattan
- Method:
- furthestPair
- Parameters:
- int, int, int, int
- Returns:
- int[]
- Method signature:
- int[] furthestPair(int n, int a, int b, int m)
- (be sure your method is public)
Constraints
- n will be between 2 and 250,000, inclusive.
- a, b and m will each be between 1 and 1,000,000,000, inclusive.
Examples
10
7
13
23
Returns: {2, 6 }
The intersections where my family members live are (0,13), (12,5), (2,4), (18,1), (20,15), (3,11), (21,22), (6,9), (7,16) and (10,14). The 2nd and 6th intersections (zero-indexed) are furthest apart. The distance is abs(2-21)+abs(4-22)=37.
10
17
17
17
Returns: {0, 1 }
All of them live at (0,0), so all pairs have distance 0. The lexicographically first pair is {0, 1}. Please note that we are looking for two different persons, so pair {0, 0} is invalid.
100
912
1023
103871
Returns: {0, 54 }
Intersections 0 (0,1023) and 54 (96346,97580) are furthest apart.
250000
1
1
1000000000
Returns: {0, 249999 }
250000
63
17
1
Returns: {0, 1 }
245453
1
123456789
213574341
Returns: {26588, 114131 }
249252
33
124512
234522
Returns: {92, 197 }
234123
124512
21435463
45125111
Returns: {196780, 226826 }
241234
3
6786721
104395301
Returns: {0, 234592 }
200000
7
50000000
104402897
Returns: {3986, 19510 }
212345
51
5421
912453927
Returns: {0, 41193 }
234512
5123451
654321245
995325212
Returns: {8890, 40468 }
223454
23451
3465215
54353621
Returns: {15517, 91423 }
54321
23451
3465215
543536
Returns: {3607, 3623 }
249999
5342324
425234431
645234512
Returns: {2004, 6744 }
250000
43532532
65326255
21235432
Returns: {118368, 217282 }
222222
45907832
23094682
2304598
Returns: {76540, 86936 }
2000
566562
2345256
21451
Returns: {121, 152 }
10000
1000000000
1000000000
12345
Returns: {21, 231 }
2
123
456
789
Returns: {0, 1 }
2
175
175
175
Returns: {0, 1 }
250000
84728345
84728345
84728345
Returns: {0, 1 }
92007
396661373
378703534
64
Returns: {0, 6 }
124410
532609101
627802741
72
Returns: {1, 3 }
105832
239508656
410620146
33
Returns: {0, 3 }
75586
284763544
899436620
72
Returns: {1, 7 }
5
655748329
179812622
32
Returns: {0, 2 }
3
648253259
934483318
42
Returns: {0, 1 }
250000
1
49999999
1000000000
Returns: {0, 9 }
250000
912
1023
103871
Returns: {0, 3321 }
250000
34345354
54353
235354544
Returns: {0, 45145 }
250000
423243
42342
100000000
Returns: {0, 240003 }
25000
912
1023
103871
Returns: {0, 3321 }
250000
799999999
899999999
999999998
Returns: {0, 229067 }
250000
999997
987651
1000000
Returns: {0, 32212 }
250000
964811441
746601218
521772220
Returns: {183516, 247257 }
249995
531357995
699233448
999999997
Returns: {91735, 164240 }
250000
11251234
312341412
812341211
Returns: {148861, 151664 }
250000
997654321
542312743
542312743
Returns: {0, 1 }
250000
999999991
999999993
999999997
Returns: {0, 31170 }
250000
999999998
123456789
1000000000
Returns: {1623, 142775 }
250000
91234
1023234
103871234
Returns: {720, 5229 }
250000
324244543
2342
1000000000
Returns: {0, 66491 }
249999
989989989
999999999
777777777
Returns: {1, 2 }
250000
113578923
25298742
999999997
Returns: {51779, 97860 }
10000
100000701
100000003
100000005
Returns: {0, 1552 }
250000
13
17
999999997
Returns: {0, 167068 }
250000
999999999
999937
1000000000
Returns: {0, 1 }
250000
999999998
999999997
999999999
Returns: {0, 1 }
250000
999999998
999999995
999999997
Returns: {0, 1 }
250000
926478857
957846251
999823477
Returns: {8818, 150881 }
250000
1
2
3
Returns: {0, 1 }
250000
51277316
52516122
512751255
Returns: {139950, 247717 }
25000
999999999
999999999
1000000000
Returns: {0, 1 }
100000
1
1
1000100
Returns: {0, 99999 }
25000
798765311
139876531
239876531
Returns: {10902, 21301 }
250000
943720
994852
839208
Returns: {185, 773 }
250000
912
1023
1000000000
Returns: {0, 157848 }
250000
1
1
1000000000
Returns: {0, 249999 }