San nền (Chọn ĐTQG Phú Thọ 2020-2021 (ngày 2))

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: SANNEN.INP
Output: SANNEN.OUT

Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python

Ngườ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

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.