Một công ty xây dựng có \(n\) thanh sắt có độ dài là \(a_{1},\ a_{2},\ a_{3},\ \ldots\ ,\ a_{n}\). Vì nhu cầu công việc, công ty yêu cầu công nhân làm cho \(n\) thanh sắt này có cùng một độ dài \(k\). Muốn làm được việc này thì với thanh sắt có độ dài \(a_{i} > k\) công nhân cần cắt đi một đoạn \(a_{i}\ –\ k\), với thanh sắt có độ dài \(a_{i} < k\) công nhân phải hàn nối thêm một đoạn \(k - a_{i}\). Tổng độ dài các đoạn cắt đi và nối thêm sẽ là: Tổng độ dài các đoạn sắt cắt đi hoặc nối thêm ở \(n\) thanh sắt.
Do công ty chưa quyết định về độ dài \(k\) cuối cùng nên công ty nhờ bạn viết một chương trình giúp công ty tính: Với \(m\) sự lựa chọn các giá trị \(k\) là: \(k_{1},\ k_{2},\ k_{3},\ \ldots\ k_{m}\); Hãy tính Tổng độ dài các đoạn cắt đi và nối thêm cho từng giá trị \(k\).
Dữ liệu vào:
Dòng đầu tiên ghi 2 số nguyên dương \(n\) và \(m\) \((1 \leq n,m\ \leq 10^{5})\)
Dòng thứ 2: Ghi \(n\) số nguyên dương \(a_{1},a_{2},\ldots,a_{n}\ (1 \leq a_{i} \leq 10^{9},i = 1...n)\)
Dòng thứ 3: Ghi \(m\) số nguyên dương \(k_{1},k_{2},\ldots,k_{m}\ (1 \leq k_{j} \leq 10^{9},j = 1..m)\)
Dữ liệu ra:
+ Ghi ra Tổng độ dài các đoạn cắt đi và nối thêm tương ứng với từng sự lựa chọn \(k_{1},\ k_{2},\ k_{3},\ \ldots\ k_{m}\), kết quả ghi trên một dòng cách nhau một dấu cách.
Ví dụ:
Input | Output | Giải thích |
---|---|---|
4 3 1 3 4 2 1 2 5 |
6 4 10 |
Với 𝑘1 = 1, tổng độ dài các đoạn cắt đi và nối thêm là: (3-1) + (4-1)+ (2-1) = 6. Với 𝑘2 = 2, tổng độ dài các đoạn cắt đi và nối thêm là: (2-1) + (3-2)+ (4-2) = 4. Với 𝑘3 = 5, tổng độ dài các đoạn cắt đi và nối thêm là: (5-1)+(5-3)+(5-4)+(5-2) = 10. |
4 1 2 2 2 2 2 |
0 |
Với 𝑘1 = 2, không cần cắt đi hay nối thêm thanh nào cả. |
Ràng buộc:
- Có 50% số điểm ứng với các test có \(n,\ m \leq 10^{3};\ 1 \leq \ a_{i} \leq 10^{9};\ 1 \leq \ k_{j} \leq 10^{9}\).
- Có 50% số điểm ứng với các test có \(n,\ m \leq 10^{5};\ 1 \leq a_{i} \leq 10^{9};\ 1 \leq \ k_{j} \leq 10^{9}\).
Code tích cực |
---|
Trong 24h |
|
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |