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

Sắp Xếp Email

Đề bài

Mô tả

Farmer John cần sắp xếp N email vào M thư mục trên một màn hình nhỏ chỉ hiển thị K thư mục và K email cùng lúc. Ban đầu, K thư mục đầu tiên (1 đến K) và K email đầu tiên (1 đến K) được hiển thị.

Hệ thống hoạt động như sau:

  • Farmer John chỉ có thể lưu email vào thư mục khi cả hai đều đang hiển thị trên màn hình.
  • Danh sách thư mục chỉ có thể cuộn xuống (không cuộn lên).
  • Khi một email được lưu, các email phía sau dịch lên, email tiếp theo chưa hiển thị sẽ xuất hiện ở cuối danh sách email.
  • Khi tất cả email phía sau đã hiển thị, các email đã bị bỏ qua ở phía trên sẽ dịch xuống để lấp chỗ trống.

Mỗi email i cần được lưu vào thư mục fi. Hãy xác định xem tất cả email có thể được lưu thành công hay không.

Dữ liệu vào

  • Dòng 1: Số nguyên T — số bộ test
  • Với mỗi bộ test:
    • Dòng 1: Ba số nguyên M, N, K
    • Dòng 2: N số nguyên f1,f2,,fN

Dữ liệu ra

Với mỗi bộ test, in "YES" hoặc "NO".

Ràng buộc

  • 1T10
  • 1M104, 1N105, 1Kmin(N,M)
  • Tổng M qua các bộ test 104, tổng N105

Ví dụ

Input Output Giải thích
6
5 5 1
1 2 3 4 5
5 5 1
1 2 3 5 4
5 5 1
1 2 4 5 3
5 5 2
1 2 4 5 3
3 10 2
1 3 2 1 3 2 1 3 2 1
3 10 1
1 3 2 1 3 2 1 3 2 1
YES
YES
NO
YES
YES
NO
Với K=1 và thứ tự 1,2,4,5,3: khi cần lưu email 5 vào thư mục 3, thư mục đã cuộn qua 3 nên không thể quay lại.

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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0