San nền (Chọn ĐTQG Phú Thọ 2020-2021 (ngày 2))
Xem dạng PDFNgười ta muốn xây dựng một tuyến đường qua một vùng đất. Tuyến đường có chiều dài ~n~ và được chia thành ~n~ đoạn. Để làm được việc này thì đầu tiên người ta phải san nền cho vùng đất mà tuyến đường sẽ đi qua.
Ban đầu, nền đường tại đoạn thứ ~i~ có độ cao là ~h_i~. Người ta muốn sau khi san nền tại tất cả các đoạn đường để nền đường đều có cùng một độ cao là ~k~. Để làm được việc đó thì tại những đoạn mà nền đường có độ cao ~h_i > k~ người ta cần đào bỏ đi một lượng đất là ~h_i - k~ và tại những đoạn mà nền đường có độ cao ~h_i < k~ người ta cần đắp thêm một lượng đất là ~k - h_i~. Tổng lượng đất đào, đắp sẽ là tổng lượng đất phải đào bỏ đi và phải đắp thêm ở ~n~ đoạn đường.
Cho ~n~ và độ cao của ~n~ đoạn đường ~h_1, h_2, \ldots, h_n~, với mỗi giá trị của ~k~, hãy xác định tổng lượng đất đào, đắp.
Dữ liệu
- Dòng đầu tiên ghi hai số nguyên dương ~n~ và ~m~, trong đó ~n~ là chiều dài của đoạn đường và ~m~ là số lượng giá trị ~k~ cần xác định tổng lượng đất phải đào, đắp ở ~n~ đoạn đường.
- Dòng thứ ~i~ trong ~n~ dòng tiếp theo ghi số nguyên dương ~h_i~ là độ cao của nền đường tại đoạn thứ ~i~.
- Dòng thứ ~j~ trong ~m~ dòng cuối ghi số nguyên dương ~k_j~.
Kết quả
Gồm ~m~ dòng, dòng thứ ~j~ ghi tổng lượng đất đào, đắp ứng với độ cao ~k_j~.
Ví dụ
SANNEN.INP
4 3
1
3
4
2
1
2
5
SANNEN.OUT
6
4
10
Giới hạn
- ~1 \le n \le 10^5~; ~1 \le m \le 10^5~; ~1 \le h_i \le 10^9~; ~1 \le k_j \le 10^9~.
- 50% số test có ~1 \le n \le 2 \times 10^4~.
Bình luận