CSES - Aalto Competitive Programming 2024 - wk1 - Mon - Results
Submission details
Task:Traffic jam
Sender:odanobunaga8199
Submission time:2024-09-02 16:58:09 +0300
Language:C++20
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails
#6ACCEPTED0.00 sdetails
#7ACCEPTED0.00 sdetails
#8ACCEPTED0.00 sdetails
#9ACCEPTED0.00 sdetails
#10ACCEPTED0.00 sdetails
#11ACCEPTED0.00 sdetails
#12ACCEPTED0.00 sdetails
#13ACCEPTED0.00 sdetails
#14ACCEPTED0.00 sdetails
#15ACCEPTED0.00 sdetails
#16ACCEPTED0.00 sdetails
#17ACCEPTED0.00 sdetails
#18ACCEPTED0.00 sdetails
#19ACCEPTED0.00 sdetails
#20ACCEPTED0.00 sdetails
#21ACCEPTED0.00 sdetails
#22ACCEPTED0.00 sdetails
#23ACCEPTED0.00 sdetails
#24ACCEPTED0.00 sdetails
#25ACCEPTED0.00 sdetails
#26ACCEPTED0.00 sdetails
#27ACCEPTED0.00 sdetails
#28ACCEPTED0.00 sdetails
#29ACCEPTED0.00 sdetails
#30ACCEPTED0.00 sdetails
#31ACCEPTED0.00 sdetails
#32ACCEPTED0.00 sdetails
#33ACCEPTED0.00 sdetails
#34ACCEPTED0.00 sdetails
#35ACCEPTED0.00 sdetails
#36ACCEPTED0.01 sdetails
#37ACCEPTED0.00 sdetails
#38ACCEPTED0.00 sdetails
#39ACCEPTED0.00 sdetails
#40ACCEPTED0.00 sdetails
#41ACCEPTED0.00 sdetails
#42ACCEPTED0.00 sdetails
#43ACCEPTED0.00 sdetails
#44ACCEPTED0.00 sdetails
#45ACCEPTED0.00 sdetails
#46ACCEPTED0.00 sdetails
#47ACCEPTED0.00 sdetails
#48ACCEPTED0.01 sdetails
#49ACCEPTED0.00 sdetails
#50ACCEPTED0.00 sdetails
#51ACCEPTED0.01 sdetails
#52ACCEPTED0.01 sdetails
#53ACCEPTED0.01 sdetails
#54ACCEPTED0.01 sdetails
#55ACCEPTED0.01 sdetails
#56ACCEPTED0.01 sdetails
#57ACCEPTED0.01 sdetails
#58ACCEPTED0.01 sdetails
#59ACCEPTED0.01 sdetails
#60ACCEPTED0.01 sdetails
#61ACCEPTED0.10 sdetails
#62ACCEPTED0.10 sdetails
#63ACCEPTED0.10 sdetails
#64ACCEPTED0.10 sdetails
#65ACCEPTED0.10 sdetails
#66ACCEPTED0.10 sdetails
#67ACCEPTED0.10 sdetails
#68ACCEPTED0.10 sdetails
#69ACCEPTED0.10 sdetails
#70ACCEPTED0.10 sdetails

Code

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    int n;
    std::cin >> n;
    std::vector<std::pair<int, bool>> events;

    for (int i = 0; i < n; ++i) {
        int l_i, r_i;
        std::cin >> l_i >> r_i;
        events.push_back({l_i, true});
        events.push_back({r_i + 1, false});
    }
    std::sort(events.begin(), events.end(), [](const auto& a, const auto& b) {
        return a.first < b.first || (a.first == b.first && !a.second && b.second);
    });

    int currentCars = 0, maxCars = 0;
    for (const auto& event : events) {
        if (event.second) {
            ++currentCars;
        } else {
            --currentCars;
        }
        maxCars = std::max(maxCars, currentCars);
    }

    std::cout << maxCars << std::endl;
    return 0;
}

Test details

Test 1

Verdict: ACCEPTED

input
5
11 18
11 12
15 17
9 17
...

correct output
3

user output
3

Test 2

Verdict: ACCEPTED

input
5
3 9
7 20
15 20
3 19
...

correct output
3

user output
3

Test 3

Verdict: ACCEPTED

input
5
9 19
4 9
1 10
9 19
...

correct output
5

user output
5

Test 4

Verdict: ACCEPTED

input
5
3 12
2 11
12 15
17 18
...

correct output
3

user output
3

Test 5

Verdict: ACCEPTED

input
5
18 20
15 19
11 13
4 14
...

correct output
3

user output
3

Test 6

Verdict: ACCEPTED

input
5
5 8
2 19
18 20
10 17
...

correct output
3

user output
3

Test 7

Verdict: ACCEPTED

input
5
2 18
1 19
7 8
3 5
...

correct output
3

user output
3

Test 8

Verdict: ACCEPTED

input
5
2 20
5 15
10 16
7 20
...

correct output
4

user output
4

Test 9

Verdict: ACCEPTED

input
5
8 18
1 11
17 20
5 5
...

correct output
3

user output
3

Test 10

Verdict: ACCEPTED

input
5
1 1
3 8
7 11
3 10
...

correct output
4

user output
4

Test 11

Verdict: ACCEPTED

input
10
11 13
8 12
9 15
6 17
...

correct output
8

user output
8

Test 12

Verdict: ACCEPTED

input
10
2 9
8 20
4 15
8 19
...

correct output
8

user output
8

Test 13

Verdict: ACCEPTED

input
10
7 9
4 4
1 5
14 19
...

correct output
5

user output
5

Test 14

Verdict: ACCEPTED

input
10
12 18
1 2
3 15
1 17
...

correct output
6

user output
6

Test 15

Verdict: ACCEPTED

input
10
5 20
3 19
11 20
4 5
...

correct output
8

user output
8

Test 16

Verdict: ACCEPTED

input
10
5 13
2 8
16 18
8 17
...

correct output
8

user output
8

Test 17

Verdict: ACCEPTED

input
10
12 18
2 19
7 11
5 13
...

correct output
7

user output
7

Test 18

Verdict: ACCEPTED

input
10
2 11
5 6
11 16
2 7
...

correct output
6

user output
6

Test 19

Verdict: ACCEPTED

input
10
1 18
1 13
9 20
5 16
...

correct output
8

user output
8

Test 20

Verdict: ACCEPTED

input
10
1 5
8 18
9 11
3 10
...

correct output
6

user output
6

Test 21

Verdict: ACCEPTED

input
100
331945 344878
23242 358577
265284 432575
383635 510646
...

correct output
58

user output
58

Test 22

Verdict: ACCEPTED

input
100
11714 252232
50579 603138
410587 435681
554555 564048
...

correct output
57

user output
57

Test 23

Verdict: ACCEPTED

input
100
263708 329159
111946 492424
15682 49655
563433 573443
...

correct output
50

user output
50

Test 24

Verdict: ACCEPTED

input
100
124241 333145
42778 460029
121802 428316
38571 508035
...

correct output
65

user output
65

Test 25

Verdict: ACCEPTED

input
100
541635 584899
544732 562143
219469 330988
104454 142828
...

correct output
56

user output
56

Test 26

Verdict: ACCEPTED

input
100
134271 466244
33376 118232
293306 526654
73518 502821
...

correct output
56

user output
56

Test 27

Verdict: ACCEPTED

input
100
462552 540038
297097 573072
171690 200795
126658 322135
...

correct output
56

user output
56

Test 28

Verdict: ACCEPTED

input
100
46155 255469
137504 304813
257937 471726
192928 376970
...

correct output
53

user output
53

Test 29

Verdict: ACCEPTED

input
100
113815 528285
6723 287126
379269 585812
144823 151502
...

correct output
50

user output
50

Test 30

Verdict: ACCEPTED

input
100
6275 391402
25919 220441
303554 385921
102892 301894
...

correct output
54

user output
54

Test 31

Verdict: ACCEPTED

input
200
349680 466526
56164 180703
12552 516494
299148 516954
...

correct output
108

user output
108

Test 32

Verdict: ACCEPTED

input
200
109035 192453
41315 154620
11780 131858
402050 438594
...

correct output
112

user output
112

Test 33

Verdict: ACCEPTED

input
200
93244 232995
269893 529384
360329 447612
317907 528260
...

correct output
97

user output
97

Test 34

Verdict: ACCEPTED

input
200
421407 470386
352706 367345
143675 582521
502292 519820
...

correct output
114

user output
114

Test 35

Verdict: ACCEPTED

input
200
143318 310854
401813 557598
237535 467641
34287 398641
...

correct output
96

user output
96

Test 36

Verdict: ACCEPTED

input
200
9076 513399
469260 492086
108204 544191
357676 381009
...

correct output
108

user output
108

Test 37

Verdict: ACCEPTED

input
200
135056 264320
197575 327883
316431 564474
33682 362951
...

correct output
103

user output
103

Test 38

Verdict: ACCEPTED

input
200
178226 450594
82713 109947
249837 320920
281091 510627
...

correct output
107

user output
107

Test 39

Verdict: ACCEPTED

input
200
393373 398425
45975 568291
305719 324476
261670 442591
...

correct output
108

user output
108

Test 40

Verdict: ACCEPTED

input
200
58993 496474
260365 371793
460435 493947
56859 249644
...

correct output
105

user output
105

Test 41

Verdict: ACCEPTED

input
1000
58068 355725
395347 536742
358259 542973
346571 577267
...

correct output
516

user output
516

Test 42

Verdict: ACCEPTED

input
1000
29471 589969
57506 483432
174866 389980
250305 411196
...

correct output
496

user output
496

Test 43

Verdict: ACCEPTED

input
1000
126086 545768
218902 424576
291340 394396
158589 441840
...

correct output
496

user output
496

Test 44

Verdict: ACCEPTED

input
1000
312883 531822
243696 404697
422989 572761
111889 147621
...

correct output
516

user output
516

Test 45

Verdict: ACCEPTED

input
1000
413156 580657
178086 312928
423093 540156
31969 390612
...

correct output
515

user output
515

Test 46

Verdict: ACCEPTED

input
1000
20157 526286
133047 421009
168036 352185
262047 570796
...

correct output
484

user output
484

Test 47

Verdict: ACCEPTED

input
1000
186252 329188
204116 431319
314149 576299
178378 570064
...

correct output
526

user output
526

Test 48

Verdict: ACCEPTED

input
1000
257494 501892
189236 290808
417823 492693
503108 553381
...

correct output
529

user output
529

Test 49

Verdict: ACCEPTED

input
1000
440937 546476
103321 263496
339461 417536
34170 174218
...

correct output
487

user output
487

Test 50

Verdict: ACCEPTED

input
1000
181034 522437
484192 595527
172323 543908
209577 405953
...

correct output
528

user output
528

Test 51

Verdict: ACCEPTED

input
10000
45796 389604
54588 554625
6480 230292
132011 412509
...

correct output
5040

user output
5040

Test 52

Verdict: ACCEPTED

input
10000
173017 222949
17536 418698
371928 579501
194960 329203
...

correct output
4932

user output
4932

Test 53

Verdict: ACCEPTED

input
10000
35688 519491
36083 511716
144944 225431
254661 329431
...

correct output
5084

user output
5084

Test 54

Verdict: ACCEPTED

input
10000
150309 588246
41663 417148
272164 454943
378370 404808
...

correct output
5005

user output
5005

Test 55

Verdict: ACCEPTED

input
10000
23324 368919
118406 505285
302915 471836
256075 427134
...

correct output
5028

user output
5028

Test 56

Verdict: ACCEPTED

input
10000
14733 277050
272054 385434
186503 304365
65427 409189
...

correct output
5071

user output
5071

Test 57

Verdict: ACCEPTED

input
10000
426026 440631
53008 185605
323120 363881
433574 569197
...

correct output
5028

user output
5028

Test 58

Verdict: ACCEPTED

input
10000
215735 571270
84210 264983
139013 280706
62911 316988
...

correct output
5036

user output
5036

Test 59

Verdict: ACCEPTED

input
10000
100867 232727
291085 542548
180752 519986
70248 552319
...

correct output
5018

user output
5018

Test 60

Verdict: ACCEPTED

input
10000
77563 330781
3428 282943
62433 482602
120814 489906
...

correct output
4974

user output
4974

Test 61

Verdict: ACCEPTED

input
100000
246586 530849
324115 389522
33488 599309
67846 517025
...

correct output
50092

user output
50092

Test 62

Verdict: ACCEPTED

input
100000
151769 163196
411638 428029
27881 555301
161709 194138
...

correct output
49927

user output
49927

Test 63

Verdict: ACCEPTED

input
100000
39491 226537
118226 481781
97491 575030
110949 445551
...

correct output
50015

user output
50015

Test 64

Verdict: ACCEPTED

input
100000
69590 283153
300522 495108
223274 368388
62247 218684
...

correct output
49913

user output
49913

Test 65

Verdict: ACCEPTED

input
100000
504946 530310
224245 261619
63385 352368
19219 407804
...

correct output
49833

user output
49833

Test 66

Verdict: ACCEPTED

input
100000
566124 598194
184196 411065
332387 465916
254612 406138
...

correct output
49947

user output
49947

Test 67

Verdict: ACCEPTED

input
100000
449821 474093
156077 417344
383973 444464
55148 413842
...

correct output
50077

user output
50077

Test 68

Verdict: ACCEPTED

input
100000
68643 447506
360603 515177
141640 589407
316333 550205
...

correct output
50142

user output
50142

Test 69

Verdict: ACCEPTED

input
100000
10579 453250
257955 382091
511698 539259
14502 161173
...

correct output
50313

user output
50313

Test 70

Verdict: ACCEPTED

input
100000
182036 358379
286536 600845
149433 208473
431529 460545
...

correct output
49932

user output
49932