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

Xâm lược quái vật

Đề bài

Mô tả

Một trò chơi bắn quái có n màn chơi được xếp thành một dãy, đánh số từ 1 đến n. Màn thứ i chứa ai quái thường (mỗi con có 1 máu) và đúng 1 trùm (có 2 máu).

Người chơi có ba khẩu súng:

  • Súng lục: gây 1 sát thương lên một mục tiêu trong màn hiện tại, thời gian nạp đạn r1.
  • Súng laser: gây 1 sát thương lên tất cả mục tiêu trong màn hiện tại (kể cả trùm), thời gian nạp đạn r2.
  • Súng bắn tỉa: hạ gục ngay lập tức một mục tiêu bất kỳ, thời gian nạp đạn r3.

Ban đầu cả ba khẩu súng đều chưa có đạn, và tại mỗi thời điểm người chơi chỉ nạp được một khẩu. Bắn một khẩu đã nạp đạn không tốn thời gian, đạn là vô hạn; vì vậy chi phí của mỗi phát bắn đúng bằng thời gian nạp đạn của khẩu súng đó.

Hai quy tắc quan trọng của trò chơi:

  • Người chơi không được dùng súng lục hoặc súng bắn tỉa nhắm vào trùm của màn i khi ai con quái thường của màn đó chưa bị tiêu diệt hết. Súng laser không bị hạn chế này.
  • Nếu người chơi gây sát thương lên trùm nhưng không hạ gục ngay (trùm còn 1 máu), người chơi bị buộc phải rời sang một màn kề với màn hiện tại.

Hai màn được gọi là kề nhau nếu chỉ số của chúng chênh nhau đúng 1. Người chơi có thể tự ý di chuyển sang màn kề bất cứ lúc nào; mỗi lần di chuyển tốn d thời gian và trong lúc di chuyển không được nạp đạn hay bắn.

Người chơi bắt đầu ở màn 1. Trò chơi kết thúc ngay khi trùm của mọi màn đều đã bị tiêu diệt, không bắt buộc phải dừng ở màn n.

Hãy tính thời gian nhỏ nhất để hoàn thành trò chơi.

Dữ liệu vào

  • Dòng đầu chứa năm số nguyên n, r1, r2, r3, d.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.

Dữ liệu ra

Một số nguyên duy nhất là thời gian nhỏ nhất để tiêu diệt hết tất cả các trùm.

Ràng buộc

  • 2n106
  • 1r1r2r3109
  • 1d109
  • 1ai106

Ví dụ

Input Output Giải thích
4 2 4 4 1
4 5 1 2
31 Bắn laser ở màn 1 (4), sang màn 2 (1), bắn laser (4), quay lại màn 1 (1), kết liễu trùm bằng súng lục (2), sang màn 2 (1), kết liễu trùm (2). Sau đó sang màn 3 (1), bắn lục 1 quái rồi bắn tỉa trùm (2+4), sang màn 4 (1), bắn lục 2 quái rồi bắn tỉa trùm (4+4). Tổng cộng 31.
4 1 3 4 3
3 2 5 1
34 Màn 1: bắn lục 3 quái rồi bắn tỉa trùm (3+4=7). Sang màn 2 (3), bắn lục 2 quái rồi bắn tỉa trùm (2+4). Sang màn 3 (3), bắn laser (3) nên bị buộc phải rời đi, chọn sang màn 4 (3), bắn lục 1 quái rồi bắn tỉa trùm (1+4). Quay về màn 3 (3), kết liễu trùm bằng súng lục (1). Tổng cộng 34, và ván chơi kết thúc ở màn 3 chứ không phải màn 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.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