Chọn ĐTQG Thái Nguyên 2023 - Cây khung

Xem dạng PDF

Gửi bài giải

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

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Với một đồ thị vô hướng có trọng số và liên thông, ta định nghĩa cây khung của đồ thị là đồ thị con có dạng cây và chứa tất cả các đỉnh của đồ thị. Trọng số của cây khung là tổng trọng số các cạnh thuộc cây. Trong bài toán này chúng ta sẽ xét cách xây dựng đồ thị và tìm cây khung có trọng số nhỏ nhất trên đồ thị được tạo ra.

Cho dãy số nguyên ~w_1, w_2, \dots, w_n~ với số nguyên ~t~, ta xây dựng đồ thị gồm ~n~ đỉnh, đỉnh ~i~ nối với đỉnh ~j~ bằng cạnh vô hướng với trọng số ~w_i \times w_j + t \times (w_i + w_j)~.

Yêu cầu: Có ~q~ truy vấn tương ứng với ~q~ giá trị ~t~, tìm cây khung có trọng số nhỏ nhất tương ứng.

Input

  • Dòng đầu chứa hai số nguyên ~n, q~;

  • Dòng thứ hai gồm ~n~ số nguyên ~w_1, w_2, \dots, w_n~ ~(|w_i| \le 10^6)~;

  • Dòng thứ ba gồm ~q~ số tương ứng với từng truy vấn, các số có giá trị tuyệt đối không vượt quá ~10^6~.

Output

Ghi ra một dòng gồm ~q~ số, mỗi số là trọng số của cây khung tương ứng với từng giá trị ~t~.

Scoring

Subtask Điểm Ràng buộc
1 ~40\%~ ~n \le 10^3, q \le 5~
2 ~30\%~ ~n \le 10^5, q \le 5~
3 ~30\%~ ~n \le 10^5, q \le 10^5~

Sample Input 1

3 2
1 0 -1
0 1

Sample Output 1

-1 -2

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.