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

Trò chơi với bẫy

Đề bài

Mô tả

Bạn có m chiến binh, chiến binh thứ i có chỉ số nhanh nhẹn ai. Màn chơi là một đoạn thẳng từ điểm 0 (vị trí xuất phát của bạn và đội) đến điểm n+1 (vị trí trùm cuối).

Trên đoạn từ 1 đến nk cái bẫy. Bẫy thứ i được mô tả bởi ba số li, ri, di: bẫy đặt tại điểm li với độ nguy hiểm di; bất cứ chiến binh nào có chỉ số nhanh nhẹn nhỏ hơn di bước vào điểm li sẽ bị tiêu diệt ngay lập tức. Khi bạn (một mình) di chuyển đến điểm ri thì bẫy i bị vô hiệu hoá và không còn nguy hiểm. Các bẫy không ảnh hưởng đến bản thân bạn, chỉ ảnh hưởng đến đội.

Bạn có tối đa t giây để đưa đội đến chỗ trùm cuối. Trước khi bắt đầu, bạn chọn ra một tập con các chiến binh sẽ đi cùng; sau đó bạn phải đưa toàn bộ các chiến binh đã chọn từ điểm 0 đến điểm n+1. Trong mỗi giây bạn có thể thực hiện một trong các thao tác:

  • Nếu bạn đang ở vị trí x, di chuyển đến x+1 hoặc x1 (một mình, không có đội). Tốn 1 giây.
  • Nếu bạn ở vị trí x và đội cũng đang ở x, di chuyển cả đội đến x+1 hoặc x1. Không được thực hiện nếu điểm đến chứa một bẫy chưa vô hiệu hoá với di lớn hơn chỉ số nhanh nhẹn của một chiến binh nào đó trong đội. Tốn 1 giây.
  • Nếu bạn ở vị trí x và có bẫy i với ri=x, bạn có thể vô hiệu hoá bẫy đó tức thì (không tốn giây).

Sau mỗi thao tác, cả toạ độ của bạn lẫn toạ độ của đội đều phải là số nguyên.

Hãy tìm số lượng chiến binh lớn nhất mà bạn có thể chọn sao cho đưa được toàn bộ họ đến vị trí n+1 trong không quá t giây.

Dữ liệu vào

  • Dòng đầu chứa bốn số nguyên m, n, k, t (1m,n,k,t2·105, n<t).
  • Dòng thứ hai chứa m số nguyên a1,a2,,am (1ai2·105) — chỉ số nhanh nhẹn của các chiến binh.
  • k dòng tiếp theo, mỗi dòng chứa ba số nguyên li, ri, di (1lirin, 1di2·105) — mô tả bẫy thứ i.

Dữ liệu ra

Một số nguyên duy nhất — số chiến binh tối đa có thể đưa đến trùm cuối trong không quá t giây.

Ràng buộc

  • 1m,n,k,t2·105
  • n<t
  • 1ai,di2·105
  • 1lirin

Ví dụ

Input Output Giải thích
5 6 4 14
1 2 3 4 5
1 5 2
1 2 5
2 3 5
3 5 3
3 Chọn ba chiến binh có chỉ số nhanh nhẹn 3,4,5. Các bẫy có d>3 là bẫy 2 ([1,2]) và bẫy 3 ([2,3]); hợp của các đoạn này là [1,3] độ dài 3. Tổng thời gian: (6+1)+2·3=1314.
1 2 1 7
1
1 2 2
1 Bẫy có d=2>1 nên phải vô hiệu hoá; phải đi đến điểm 2 trước rồi quay về. Tổng thời gian 3+2·2=7.
1 1 1 4
2
1 1 5
1 Bẫy có d=5>2 nên phải vô hiệu hoá; đoạn [1,1] có độ dài 1. Tổng thời gian 2+2·1=4.

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