Bắn tàu

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Nguồn bài:
HSG THPT TPHCM 2023
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Bắn tàu là trò chơi khá phổ biến và có nhiều phiên bản. Hãy cùng xét một phiên bản của trò chơi này. Có N tàu của địch đang hoạt động ngoài khơi được đánh số từ 1 đến N ( 1 <= N <= 400) , tàu thứ i luôn cách bờ một khoảng di .

Nhiệm vụ của người chơi là phải phá hủy hết các tàu theo thứ tự tàu 1 , tàu 2 , ... đến tàu N . Người chơi được cung cấp vũ khí là một loại ngư lôi, ban đầu có thể được thiết lập ở bất kỳ mức năng lượng nào và trong quá trình chơi được thay đổi qua một mức năng lượng bất kỳ tối đa K lần ( 1 <= K <= N ). .

Nếu được thiết lập ở mức năng lượng R thì khi bắn ngư lôi có thể phá hủy một tàu cách bờ trong phạm vi nhỏ hơn hay bằng R đơn vị chiều dài. Ở lần bắn tàu thứ i , nếu khoảng cách di nhỏ hơn mức năng lượng hiện tại R của ngư lôi thì người chơi bị trừ một số điểm là R - di (vì sử dụng lãng phí năng lượng).

Viết chương trình cho biết số điểm bị trừ ít nhất sau khi người chơi phá hủy hết N tàu.

INPUT

Dòng đầu tiên chứa hai số nguyên NK cho biết số lượng tàu và số lần tối đa đổi mức năng lượng của ngư lôi.

Dòng thứ 2 chứa N số nguyên, số thứ i cho biết di là khoảng cách tới bờ của tàu thứ i . (1 <= di <= 10^6)

OUTPUT

Một số nguyên duy nhất là số điểm bị trừ ít nhất sau khi người chơi phá hủy hết N tàu.

SAMPLE INPUT

7 1

80 10 5 7 100 20 35

SAMPLE OUTPUT

313


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.