Clash!

Đề bài

Mô tả

Bác John chơi một trò chơi thẻ bài. Có N lá bài, mỗi lá có chi phí ai (tính bằng moolixir). Bác giữ trên tay H lá bài.

Khởi tạo:

  • Tay bài chứa các lá 1 đến H
  • Hàng chờ rút bài chứa các lá H+1 đến N theo thứ tự

Cơ chế chơi:

  • Trò chơi bắt đầu tại thời điểm 0 với 0 moolixir
  • Trước mỗi giây nguyên t=1,2,3,, moolixir tăng thêm 1
  • Một lá bài chỉ được chơi khi chi phí không vượt quá moolixir hiện tại (chi phí bị trừ đi)
  • Khi chơi một lá, rút lá đầu hàng chờ vào tay, lá vừa chơi đặt cuối hàng chờ

Điều kiện thắng:k lá bài được đánh dấu là "điều kiện thắng". Nếu tay bài có ít nhất một điều kiện thắng, lá tiếp theo bắt buộc phải là điều kiện thắng.

Bác John chơi tối ưu. Cho Q truy vấn, mỗi truy vấn là thời điểm t — tìm số điều kiện thắng tối đa có thể chơi trong thời gian t.

Dữ liệu vào

  • Dòng 1: Hai số nguyên NH (2N2×105, 1H<N)
  • Dòng 2: N số nguyên a1,,aN (1ai109)
  • Dòng 3: Số nguyên k (1kN)
  • Dòng 4: k chỉ số của các lá điều kiện thắng
  • Dòng 5: Số nguyên Q (1Q2×105)
  • Dòng 6: Q số nguyên t (1t1018)

Dữ liệu ra

Với mỗi truy vấn, in ra số điều kiện thắng tối đa có thể chơi.

Ràng buộc

  • 2N2×105
  • 1ai109
  • 1Q2×105
  • 1t1018

Ví dụ

Input Output Giải thích
6 3
2 4 3 5 7 6
2
1 4
6
1
2
3
7
10
1000000000000000
0
1
1
2
2
142857142857143
Tại t=2: đủ moolixir chơi lá 1 (chi phí 2, là điều kiện thắng).

Ghi chú

  • Test 2-3: N,Q100
  • Test 4-5: H=1
  • Test 6-11: Không ràng buộc bổ sung

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