trang chủ / đề bài / voi18_queue

Dòng xe vào bến

Đề bài

Mô tả

Bến xe khách liên tỉnh XYZ có M điểm đỗ đón xe khách cập bến để hành khách xuống xe. Các điểm đỗ được đánh số từ 1 đến M. Ban điều hành bến xe nhận được yêu cầu cập bến của một dòng xe gồm N xe khách chờ được phục vụ cập bến, lần lượt xe này sau xe kia. Các xe khách được đánh số từ 1 đến N theo thứ tự chờ được phục vụ. Xe khách thứ i chỉ chấp nhận cập bến, nếu như nó được xếp phục vụ tại một trong số các điểm đỗ có chỉ số trong khoảng từ ai đến bi (1≤ai≤bi≤M) và đồng thời tại điểm đỗ được bố trí để phục vụ nó chưa có xe nào trong số các xe (trong dòng xe đang xét) đến trước đã cập bến tại đó. Nếu có một xe khách đến lượt được phục vụ mà Ban điều hành không tìm được điểm đỗ theo đúng yêu cầu để phục vụ nó, thì xe này và tất cả các xe đến sau nó sẽ đồng loạt di chuyển sang bến xe khác và việc phục vụ dòng xe chấm dứt tại đây.

Yêu cầu: Hãy giúp Ban điều hành bến xe xác định số lượng lớn nhất các xe khách trong dòng xe mà bến xe khách XYZ có thể phục vụ đáp ứng các điều kiện đã nêu.

Dữ liệu vào

Dòng đầu tiên chứa số nguyên dương T (T≤5) là số lượng test. Tiếp đến là T nhóm dòng, mỗi nhóm là thông tin về một test theo khuôn dạng sau đây:

  • Dòng đầu tiên chứa hai số nguyên M và N tương ứng là số lượng điểm đỗ trong bến xe và số lượng xe trong dòng xe yêu cầu được phục vụ;
  • Dòng thứ i trong số N dòng tiếp theo mô tả yêu cầu của xe khách thứ i gồm hai số nguyên ai và bi (1≤ai≤bi≤M) mô tả khoảng chỉ số của các điểm đỗ trong bến xe mà xe khách thứ i chấp nhận được phục vụ tại đó. Hai số trên cùng dòng được ghi cách nhau bởi dấu cách.

Dữ liệu ra

In ra T dòng, mỗi dòng ghi số lượng xe khách lớn nhất trong dòng xe mà bến xe khách XYZ có thể phục vụ là câu trả lời cho test tương ứng trong dữ liệu vào.

Ràng buộc

  • T≤5;
  • 1≤N,M≤50000;
  • 1≤ai≤bi≤M.

Subtasks

  • Subtask 1 (25% số test, 25% số điểm): 1≤N,M≤10;
  • Subtask 2 (25% số test, 25% số điểm): 1≤N,M≤300;
  • Subtask 3 (25% số test, 25% số điểm): 1≤N,M≤50000; ai=1 với mọi i=1,2,…,N;
  • Subtask 4 (25% số test, 25% số điểm): 1≤N,M≤50000.

Ví dụ

Input Output Giải thích
1
4 3
1 4
1 1
1 1
2 Xe khách thứ nhất yêu cầu được cập bến ở một trong các điểm đỗ 1,2,3,4, ta có thể xếp nó vào điểm đỗ số 4. Cả hai xe khách 2 và 3 đều yêu cầu được cập bến ở điểm đỗ số 1, do đó, không thể phục vụ được xe khách số 3 (đến sau).
1
4 6
1 2
1 2
1 3
1 3
2 4
1 4
3 Hai xe khách đầu tiên có thể xếp với điểm đỗ số 1 và 2 (xe 1 vào điểm đỗ số 1 và xe 2 vào điểm đỗ số 2, hoặc ngược lại). Xe khách thứ ba phải xếp cập bến tại điểm đỗ số 3. Đến lượt xe khách thứ tư, ta không tìm được điểm đỗ nào đáp ứng yêu cầu của nó, vì thế bến xe XYZ chấm dứt phục vụ dòng xe tại đây, mặc dù nếu bỏ qua xe khách thứ tư, ta có thể xếp điểm đỗ cho xe khách số 5 (nhưng xe này và cả xe khách số 6 đã theo xe khách số 4 đi tìm bến xe khác).

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0