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.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