CSES - Aalto Competitive Programming 2024 - wk11 - Mon - Results
Submission details
Task:Bus tours
Sender:snude
Submission time:2024-11-18 17:07:36 +0200
Language:C++ (C++11)
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#50.00 sdetails
#6ACCEPTED0.00 sdetails
#70.00 sdetails
#80.00 sdetails
#90.00 sdetails
#100.00 sdetails
#11ACCEPTED0.00 sdetails
#12ACCEPTED0.00 sdetails
#13ACCEPTED0.00 sdetails
#14ACCEPTED0.00 sdetails
#150.00 sdetails
#16ACCEPTED0.00 sdetails
#170.00 sdetails
#180.00 sdetails
#190.00 sdetails
#200.00 sdetails
#210.00 sdetails
#220.00 sdetails
#230.00 sdetails
#240.00 sdetails
#250.00 sdetails
#260.00 sdetails
#270.00 sdetails
#280.00 sdetails
#290.00 sdetails
#300.00 sdetails
#310.00 sdetails
#320.00 sdetails
#330.00 sdetails
#340.00 sdetails
#350.00 sdetails
#360.00 sdetails
#370.00 sdetails
#380.07 sdetails
#390.00 sdetails
#400.08 sdetails
#410.00 sdetails
#420.00 sdetails
#430.00 sdetails
#440.00 sdetails
#450.00 sdetails
#460.00 sdetails
#470.00 sdetails
#480.00 sdetails
#490.00 sdetails
#500.07 sdetails
#510.00 sdetails
#520.08 sdetails
#530.00 sdetails
#540.00 sdetails
#550.00 sdetails
#560.00 sdetails
#570.00 sdetails
#580.00 sdetails
#590.00 sdetails
#600.00 sdetails

Code

#include <bits/stdc++.h>

using namespace std;
using ll = long long;

// Debug printing
#ifdef DEBUG
#define deb(fmt, args...) printf("DEBUG: %d: " fmt, __LINE__, ##args)
#define debug_print(fmt, args...) printf(fmt, ##args)
#else
#define deb(fmt, args...)
#define debug_print(fmt, args...)
#endif

void print_array(vector<int> in, const string title = "Vector")
{
	debug_print("DEBUG: %s [\nDEBUG: ", title.c_str());
	for (unsigned int i = 0; i < in.size(); i++) {
		debug_print("%d ", in[i]);
	}
	debug_print("\nDEBUG: ] END\n");
}

void print_matrix(vector<vector<int>> in, const string title = "Matrix")
{
	debug_print("DEBUG: %s [\nDEBUG: ", title.c_str());
	for (unsigned int i = 0; i < in.size(); i++) {
		for (unsigned int j = 0; j < in[i].size(); j++) {
			debug_print("%d ", in[i][j]);
		}
		debug_print("\nDEBUG: ");
	}
	debug_print("DEBUG: ] END\n");
}

ll gcd(ll a, ll b)
{
	if (b == 0) return a;
	return gcd(b, a % b);
}

int main(int argc, char *argv[])
{
	ios::sync_with_stdio(0);
	cin.tie(0);

	// Read the input parameters
	int n, q;
	cin >> n >> q;

	for (int i = 0; i < q; i++) {
		int a, b;
		cin >> a >> b;

		ll rem = (n % a);
		if (rem == 0) {
			cout << n / a << "\n";
			continue;
		}
		ll paskaa = gcd(rem, n);
		ll lcm = rem * n / paskaa;
		deb("lcm: %lld\n", lcm);
		cout << lcm / paskaa << "\n";
	}
	
	return 0;
}

Test details

Test 1

Verdict: ACCEPTED

input
1 2
1 1
1 1

correct output
1
1

user output
1
1

Test 2

Verdict: ACCEPTED

input
2 4
1 2
2 2
1 1
1 2

correct output
2
1
2
2

user output
2
1
2
2

Test 3

Verdict: ACCEPTED

input
3 6
2 1
1 3
2 3
2 2
...

correct output
3
3
3
3
3
...

user output
3
3
3
3
3
...

Test 4

Verdict: ACCEPTED

input
4 8
3 1
3 4
2 1
3 3
...

correct output
4
4
2
4
1
...

user output
4
4
2
4
1
...

Test 5

Verdict:

input
5 10
5 5
3 1
5 5
4 4
...

correct output
1
5
1
5
5
...

user output
1
10
1
5
5
...

Test 6

Verdict: ACCEPTED

input
6 12
2 1
6 5
2 3
6 6
...

correct output
3
1
3
1
2
...

user output
3
1
3
1
2
...

Test 7

Verdict:

input
7 14
7 7
3 2
6 1
1 3
...

correct output
1
7
7
7
7
...

user output
1
7
7
7
7
...

Test 8

Verdict:

input
8 16
1 2
7 3
4 8
6 4
...

correct output
8
8
2
4
1
...

user output
8
8
2
4
1
...

Test 9

Verdict:

input
9 18
8 1
9 3
8 4
5 8
...

correct output
9
1
9
9
3
...

user output
9
1
9
36
3
...

Test 10

Verdict:

input
10 20
1 4
6 5
5 1
2 4
...

correct output
10
5
2
5
5
...

user output
10
10
2
5
5
...

Test 11

Verdict: ACCEPTED

input
1 2
1 1
1 1

correct output
1
1

user output
1
1

Test 12

Verdict: ACCEPTED

input
2 4
1 1
1 2
1 1
2 2

correct output
2
2
2
1

user output
2
2
2
1

Test 13

Verdict: ACCEPTED

input
3 6
1 2
3 3
1 1
2 3
...

correct output
3
1
3
3
3
...

user output
3
1
3
3
3
...

Test 14

Verdict: ACCEPTED

input
4 8
4 3
1 4
4 4
4 1
...

correct output
1
4
1
1
1
...

user output
1
4
1
1
1
...

Test 15

Verdict:

input
5 10
3 5
4 4
5 2
1 1
...

correct output
5
5
1
5
5
...

user output
10
5
1
5
5
...

Test 16

Verdict: ACCEPTED

input
6 12
6 5
2 4
1 1
3 5
...

correct output
1
3
6
2
3
...

user output
1
3
6
2
3
...

Test 17

Verdict:

input
7 14
2 3
4 1
4 3
1 1
...

correct output
7
7
7
7
7
...

user output
7
21
21
7
7
...

Test 18

Verdict:

input
8 16
3 2
5 7
2 8
1 7
...

correct output
8
8
4
8
8
...

user output
4
24
4
8
8
...

Test 19

Verdict:

input
9 18
6 1
5 4
8 3
2 9
...

correct output
3
9
9
9
9
...

user output
3
36
9
9
9
...

Test 20

Verdict:

input
10 20
1 5
8 5
3 8
2 3
...

correct output
10
5
10
5
5
...

user output
10
5
10
5
5
...

Test 21

Verdict:

input
100000 1000
54883 59286
71521 84428
60278 85796
54490 84727
...

correct output
100000
100000
50000
10000
100000
...

user output
4511700000
2847900000
993050000
45510000
381650000
...
Truncated

Test 22

Verdict:

input
2000000 1000
834232 1994819
1440974 1865535
229 256307
604802 1998532
...

correct output
250000
1000000
2000000
1000000
1000000
...

user output
2590125000
279513000000
286000000
92797000000
29816500000
...
Truncated

Test 23

Verdict:

input
30000000 1000
13094992 5558892
778688 27978585
16508968 28464840
13074794 14559312
...

correct output
1875000
468750
3750000
15000000
30000000
...

user output
111621562500
750468750
6323921250000
7219522500000
35615445000000
...
Truncated

Test 24

Verdict:

input
400000000 1000
236565899 30376105
304147174 360755367
124942637 52110229
219398785 244517353
...

correct output
400000000
200000000
400000000
80000000
400000000
...

user output
65373640400000000
9585282600000000
10068835600000000
2889619440000000
6592880400000000
...
Truncated

Test 25

Verdict:

input
500000000 1000
483517462 293793079
92715097 459357998
383763915 326973498
374590311 320810546
...

correct output
250000000
500000000
100000000
500000000
62500000
...

user output
2060317250000000
728490300000000
2324721700000000
62704844500000000
17554359375000
...
Truncated

Test 26

Verdict:

input
600000000 1000
136207631 33856688
534252396 510075127
126836001 223176868
563629114 299672870
...

correct output
600000000
50000000
200000000
300000000
600000000
...

user output
2068855350000000
273948350000000
386066650000000
5455632900000000
293327940000000
...
Truncated

Test 27

Verdict:

input
700000000 1000
639134189 678229794
237640401 149898916
587858706 45995240
29847608 264934632
...

correct output
700000000
700000000
350000000
12500000
100000000
...

user output
42606067700000000
39325859650000000
19624726450000000
3014512500000
91816300000000
...
Truncated

Test 28

Verdict:

input
800000000 1000
65548324 195282779
669945145 273995058
376590657 621451858
391344456 264580953
...

correct output
200000000
160000000
800000000
100000000
50000000
...

user output
41937850000000
4161755360000000
9363737200000000
54097150000000
1054486150000000
...
Truncated

Test 29

Verdict:

input
900000000 1000
11934038 257096283
405355767 570001955
876668629 249890139
453495728 12239373
...

correct output
450000000
300000000
900000000
56250000
225000000
...

user output
197886000000
2232211650000000
20998233900000000
1569741581250000
13659424425000000
...
Truncated

Test 30

Verdict:

input
1000000000 1000
11139168 391337048
538883744 535937150
532332526 8099343
143698367 339543270
...

correct output
31250000
31250000
500000000
1000000000
31250000
...

user output
8412156250000
450308843750000
116916868500000000
34452449500000000
20619203125000
...
Truncated

Test 31

Verdict:

input
636562060 1000
511952489 604348961
431474828 614141397
390042572 606486418
303263917 446364281
...

correct output
636562060
159140515
159140515
20534260
636562060
...

user output
79321725211476260
8159421930101120
9807809569464080
4973633915990
110897413530948580
...
Truncated

Test 32

Verdict:

input
773442532 1000
98253 110058063
259701699 126062352
202798887 79318250
340660250 159996304
...

correct output
773442532
773442532
773442532
386721266
773442532
...

user output
72060867263908
49121167757011822
127653496362385372
4453193605191564
20692865967171882
...
Truncated

Test 33

Verdict:

input
198730372 1000
5302491 190520836
112418208 193832000
89033117 99141977
85974570 65556834
...

correct output
198730372
49682593
198730372
99365186
99365186
...

user output
504418423862260
1072053028740313
1026647957949834
332640262373644
790061636117926
...
Truncated

Test 34

Verdict:

input
75940263 1000
54311996 64420602
22311186 9305398
39178355 43663813
68485322 33520835
...

correct output
397593
25313421
75940263
75940263
75940263
...

user output
45022238541
8444093166215
2791708961901804
566130180189483
546641326734741
...
Truncated

Test 35

Verdict:

input
967034924 1000
587586158 185430194
918715995 767527830
653946995 749180621
641621091 232024335
...

correct output
483517462
967034924
967034924
967034924
241758731
...

user output
91735052147675946
46726091833276396
302766961625832396
314686541263703692
3364007708766361
...
Truncated

Test 36

Verdict:

input
59249204 1000
51941206 49590638
12331278 21697751
54797275 58426170
29134863 5358034
...

correct output
29624602
29624602
59249204
59249204
59249204
...

user output
108248266083398
36749659463923
263773249514516
14508322958878
1348349599470244
...
Truncated

Test 37

Verdict:

input
356460601 1000
74949458 293929353
22997620 14923804
132467316 38531826
352555547 212977432
...

correct output
356460601
356460601
356460601
356460601
356460601
...

user output
20198044692064169
4097978363736901
32625401916847369
1391997895777454
155969692428151
...
Truncated

Test 38

Verdict:

input
244103474 100000
197042690 80586782
110761958 182779959
115101311 77817928
136048363 66665685
...

correct output
122051737
122051737
244103474
244103474
122051737
...

user output
2871925215890904
1377937137296123
848311566189962
26376627978555614
7170406878511881
...
Truncated

Test 39

Verdict:

input
11934038 1000
11587328 2864583
10398781 4516499
6350997 9767896
2784292 5052878
...

correct output
5967019
11934038
11934038
5967019
5967019
...

user output
1034412578745
18321815377766
66628223449558
2377469215265
207873040903
...
Truncated

Test 40

Verdict:

input
391337048 100000
215553498 214374860
212933011 3239737
57479347 135817308
61036250 5721761
...

correct output
195668524
391337048
391337048
195668524
97834262
...

user output
17197653885990100
69816109190862776
4545474320417092
614388110088394
96954389564703
...
Truncated

Test 41

Verdict:

input
320792352 1000
6856072 163403660
209346034 146364209
247391400 274848623
164697794 192719062
...

correct output
40099044
160396176
703492
160396176
106930784
...

user output
6783054035430
8937781618239984
113238996764
12518485098805104
52835382553368
...
Truncated

Test 42

Verdict:

input
73343920 1000
1442165 49223311
34301870 14374488
53682199 68592328
31116565 7788343
...

correct output
14668784
7334392
73343920
14668784
73343920
...

user output
906288816264
869158456764
1442067692086320
8149088928968
26606203747240
...
Truncated

Test 43

Verdict:

input
479126951 1000
397311153 468896160
141366175 46404049
286549153 388480761
7824874 188161591
...

correct output
479126951
479126951
479126951
479126951
479126951
...

user output
39200153839371898
26365601967709126
92269213186033898
867045858226787
2411542248900151
...
Truncated

Test 44

Verdict:

input
652127789 1000
170038626 615206830
590041554 639221905
128243055 543015584
324591612 538060272
...

correct output
652127789
652127789
652127789
652127789
652127789
...

user output
92609913532094779
40488159157884415
7116353627251546
1920232663016785
140962776865753268
...
Truncated

Test 45

Verdict:

input
989875543 1000
830179652 707687014
934614610 393292735
8640346 159993019
332576424 216128931
...

correct output
989875543
989875543
989875543
989875543
989875543
...

user output
158079056818493813
54701446060061619
4826731145346757
321435054037548385
36049611214276561
...
Truncated

Test 46

Verdict:

input
873575358 1000
192088036 634962594
58372062 119170657
388198952 295709490
569083414 26793118
...

correct output
436787679
145595893
436787679
10157853
145595893
...

user output
22980101709990153
1367788241137595
21222957291894633
35964934963212
5256484778356357
...
Truncated

Test 47

Verdict:

input
350744380 1000
187247456 19931185
197103729 110458251
16321574 49819680
129109880 252137537
...

correct output
87686095
350744380
175372190
17537219
17537219
...

user output
3584101702517945
53888594877791380
14300574914530
81131226191589
27506479124397
...
Truncated

Test 48

Verdict:

input
195182397 1000
103584216 164816216
37389796 173529335
13255901 157512328
153639856 80086158
...

correct output
65060799
195182397
195182397
195182397
65060799
...

user output
1986483614268873
1607018065560549
1873708656619851
8108372729850777
1454090835808677
...
Truncated

Test 49

Verdict:

input
81615941 1000
41748187 35732930
72568551 20198635
15019189 75027737
70390638 16847208
...

correct output
81615941
7419631
81615941
81615941
81615941
...

user output
3253844258266514
6102572301190
532135608856236
916163667355123
1604409432815640
...
Truncated

Test 50

Verdict:

input
462211740 100000
363282517 196968602
117843390 341358936
65919011 123064016
158172463 322424470
...

correct output
462211740
5135686
462211740
462211740
231105870
...

user output
45726248299678020
6201715750078
359907180103620
16855338476799090
3063703728993570
...
Truncated

Test 51

Verdict:

input
952851063 1000
875998819 667318630
38536147 687576518
742769042 406605561
722483998 556746891
...

correct output
952851063
952851063
952851063
952851063
952851063
...

user output
73228742389335372
2962682341249745
200176877027038323
219505502765440095
2588686393320119
...
Truncated

Test 52

Verdict:

input
858211636 100000
248343308 583979982
619305380 31050621
18568217 817417300
176886310 599296532
...

correct output
214552909
214552909
858211636
429105818
858211636
...

user output
6070866388800052
12814508050774676
874014315959486
8081478387586491
25358022904307812
...
Truncated

Test 53

Verdict:

input
753727010 1000
413760880 627500429
361239419 547590421
738031717 670044259
147026654 727317481
...

correct output
75372701
753727010
753727010
376863505
753727010
...

user output
2562416546661713
5888147812381430
11829966263963930
140146040549174
32327946149510890
...
Truncated

Test 54

Verdict:

input
718437562 1000
158903900 657524927
671457583 242576186
492983549 189876521
379600966 589460284
...

correct output
359218781
718437562
718437562
359218781
359218781
...

user output
14875602114834161
33752181575571198
161974631442836306
60858234486654738
15488623333361901
...
Truncated

Test 55

Verdict:

input
316145889 1000
231106260 17462220
104892428 72706295
119286558 168170985
244430219 260070478
...

correct output
105381963
316145889
35127321
316145889
105381963
...

user output
2987214345603909
51588159257205
302769299781237
22672614247380630
102214497338109
...
Truncated

Test 56

Verdict:

input
747395152 1000
500172076 372158084
239520832 84889368
159696538 155327109
353132323 129379927
...

correct output
186848788
46712197
373697576
747395152
46712197
...

user output
11548333029057972
84177294194077
1268341250993250
7685185195926728
2479877133849
...
Truncated

Test 57

Verdict:

input
765697360 1000
446153883 253331338
659962663 480469218
677935454 85332598
747807123 93200007
...

correct output
765697360
765697360
382848680
765697360
382848680
...

user output
244673596744120720
80960778353299920
16799764933192040
13698507240674320
1435734904556990
...
Truncated

Test 58

Verdict:

input
516256687 1000
437326314 491194180
394813416 251232863
466005669 206474116
205825988 157757970
...

correct output
516256687
516256687
516256687
516256687
516256687
...

user output
40748332868654251
62695900744903177
25942424071057366
54002881545452457
33435218749169266
...
Truncated

Test 59

Verdict:

input
183419903 1000
104804598 53787839
23336070 30671162
74245488 74147577
145899705 58594803
...

correct output
183419903
183419903
183419903
183419903
183419903
...

user output
14419611617415415
3680762945920939
6406660402234081
6881951077700794
16140629195230429
...
Truncated

Test 60

Verdict:

input
859561821 1000
305915452 372050560
78658441 819519705
526436955 486103389
357871847 582286838
...

correct output
859561821
859561821
31835623
859561821
859561821
...

user output
212940038134519857
62728596291025431
392786579477834
123620571136929267
127929193529637447
...
Truncated