trang chủ / bài tập / divround

Vòng thi bỏ lỡ

Đề bài

Mô tả

Một hệ thống thi đấu lập trình tổ chức hai loại vòng thi: Div1 (dành cho thí sinh nâng cao) và Div2 (dành cho thí sinh mới). Một vòng Div1 và một vòng Div2 có thể diễn ra đồng thời; ngoài trường hợp đó thì các vòng thi không chồng lấn về thời gian. Đặc biệt, một vòng Div1 không bao giờ được tổ chức nếu không có vòng Div2 diễn ra cùng lúc với nó.

Mỗi vòng thi có một mã định danh là số nguyên dương. Các vòng thi được đánh mã liên tiếp (không có khoảng trống) theo thứ tự thời gian bắt đầu. Hai vòng diễn ra đồng thời có mã hơn kém nhau đúng 1, trong đó mã của vòng Div1 luôn lớn hơn.

Sereja chỉ đủ trình độ tham gia các vòng Div2. Hiện tại bạn ấy đang thi ở vòng Div2 có mã x. Sereja nhớ chính xác rằng trước vòng này bạn ấy đã tham gia đúng k vòng, và nhớ mã của tất cả các vòng đó cùng mã của các vòng diễn ra đồng thời với chúng. Về những vòng còn lại Sereja không nhớ gì cả.

Hãy tính số vòng Div2 ít nhất và nhiều nhất mà Sereja có thể đã bỏ lỡ.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên xk: mã vòng thi Sereja đang tham gia hôm nay và số vòng bạn ấy đã tham gia trước đó.
  • k dòng tiếp theo mô tả các vòng Sereja đã tham gia:
    • Nếu là một trong hai vòng diễn ra đồng thời, dòng có dạng 1 num2 num1, với num2 là mã vòng Div2 và num1 là mã vòng Div1 (đảm bảo num1 - num2 = 1).
    • Nếu là một vòng Div2 diễn ra độc lập, dòng có dạng 2 num, với num là mã vòng đó.

Dữ liệu ra

In ra trên một dòng hai số nguyên: số vòng Div2 ít nhất và nhiều nhất mà Sereja có thể đã bỏ lỡ.

Ràng buộc

  • 1x4000
  • 0k<4000
  • Mọi mã vòng xuất hiện trong dữ liệu vào đều nhỏ hơn x.

Ví dụ

Input Output Giải thích
3 2
2 1
2 2
0 0 Hai mã 12 đều đã được Sereja tham gia, không còn mã nào trống nên bạn ấy không bỏ lỡ vòng nào.
9 3
1 2 3
2 8
1 4 5
2 3 Các mã chưa dùng là 1, 6, 7. Ít nhất: mã 1 là vòng Div2 độc lập, còn cặp 6,7 là một vòng Div2 diễn ra đồng thời với vòng Div1, tổng cộng 2 vòng Div2. Nhiều nhất: cả ba mã đều là vòng Div2 độc lập, tổng cộng 3 vòng.
10 0 5 9 Chín mã 1..9 đều trống. Ít nhất: ghép thành (1,2),(3,4),(5,6),(7,8) và mã 9 đứng riêng, được 5 vòng Div2. Nhiều nhất: cả 9 mã đều là vòng Div2 độc lập.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0