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

Chọn cỡ áo phông

Đề bài

Mô tả

Ban tổ chức một kỳ thi đã đặt sẵn áo phông với năm cỡ: S, M, L, XL, XXL. Số áo mỗi cỡ lần lượt là NS, NM, NL, NXL, NXXL.

K thí sinh xếp hàng nhận áo. Mỗi thí sinh có một cỡ áo mong muốn, cũng thuộc năm cỡ trên. Các thí sinh lần lượt lên nhận áo theo đúng thứ tự trong hàng và chọn áo theo quy tắc sau:

  • Nếu còn áo đúng cỡ mong muốn, thí sinh lấy chiếc áo đó.
  • Ngược lại, thí sinh chọn cỡ áo còn hàng có khoảng cách tới cỡ mong muốn nhỏ nhất. Khoảng cách giữa hai cỡ liền kề trong dãy S, M, L, XL, XXL được tính bằng 1.
  • Nếu có hai cỡ cùng khoảng cách nhỏ nhất, thí sinh chọn cỡ lớn hơn.

Chẳng hạn, thí sinh mong muốn cỡ L sẽ xét các cỡ theo thứ tự ưu tiên: L, XL, M, XXL, S.

Hãy xác định mỗi thí sinh nhận được áo cỡ nào.

Dữ liệu vào

  • Dòng đầu chứa năm số nguyên không âm NS, NM, NL, NXL, NXXL là số áo của từng cỡ.
  • Dòng thứ hai chứa số nguyên K là số thí sinh.
  • K dòng tiếp theo, dòng thứ i chứa cỡ áo mong muốn của thí sinh thứ i trong hàng (một trong các xâu S, M, L, XL, XXL).

Dữ liệu ra

In ra K dòng, dòng thứ i là cỡ áo mà thí sinh thứ i nhận được.

Ràng buộc

  • 0NS,NM,NL,NXL,NXXL1000
  • 1K1000
  • NS+NM+NL+NXL+NXXLK

Ví dụ

Input Output Giải thích
1 0 2 0 1
3
XL
XXL
M
XXL
L
L
Thí sinh 1 muốn XL nhưng hết XL; XXL và L cùng cách 1 nên chọn cỡ lớn hơn là XXL. Thí sinh 2 muốn XXL, lúc này XXL đã hết và XL cũng hết, cỡ gần nhất còn hàng là L. Thí sinh 3 muốn M nhưng hết M; hai cỡ S và L cùng cách 1 và đều còn hàng, chọn cỡ lớn hơn là L.
1 0 3 0 1
5
S
S
S
XL
L
S
L
L
XXL
L
Thí sinh 1 lấy chiếc áo S duy nhất. Hai thí sinh S tiếp theo hết S, hết M nên nhận L. Thí sinh muốn XL nhận XXL vì XL đã hết. Thí sinh cuối nhận đúng cỡ L còn 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