C ++ Bài 10.F1: Chi phí
Bạn được cho một mảng gồm \(n\) số nguyên. Nhiệm vụ của bạn là tính toán cho mỗi cửa sổ gồm \(k\) phần tử, từ trái sang phải, tổng chi phí tối thiểu để làm cho tất cả các phần tử bằng nhau.
Bạn có thể tăng hoặc giảm mỗi phần tử với chi phí \(x\), trong đó \(x\) là sự chênh lệch giữa giá trị mới và giá trị ban đầu. Tổng chi phí là tổng của các chi phí như vậy.
INPUT FORMAT
Dòng đầu tiên chứa hai số nguyên \(n\) và \(k\): số lượng phần tử và kích thước của cửa sổ \((1 \le k \le n \le 2 \cdot 10^5)\).
Tiếp theo là n số nguyên\( x_1,x_2,\ldots,x_n\): nội dung của mảng \((1 \le x_i \le 10^9)\).
OUTPUT FORMAT
Xuất ra \(n-k+1\) giá trị: các chi phí.
Ví dụ:
Input
8 3
2 4 3 5 8 1 2 1
Output
2 2 5 7 7 1
Giải thích ví dụ mẫu
| Vị trí cửa sổ | Mảng con | Chi phí tối thiểu |
|---------------|----------|--------------------|
| 1-3 | [2, 4, 3] | 2 (Chuyển cả 2 và 4 thành 3) |
| 2-4 | [4, 3, 5] | 2 (Chuyển cả 4 và 5 thành 3) |
| 3-5 | [3, 5, 8] | 5 (Chuyển cả 3 và 5 thành 5) |
| 4-6 | [5, 8, 1] | 7 (Chuyển cả 5 và 8 thành 1) |
| 5-7 | [8, 1, 2] | 7 (Chuyển cả 8 thành 2 và 1 thành 2) |
| 6-8 | [1, 2, 1] | 1 (Chuyển cả 1 và 2 thành 1) |
Lời giải bài tập này: Tại đây
Group giải đáp thắc mắc: Lập trình 24h
Fanpage CLB: CLB lập trình Full House- Việt Nam
Youtube: CLB Lập Trình Full House
Comments