DSA03010

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1200 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho \(N\) sợi dây với độ dài khác nhau được lưu trong mảng \(A\). Nhiệm vụ của bạn là nối \(N\) sợi dây thành một sợi sao cho tổng chi phí nối dây là nhỏ nhất. Biết chi phí nối sợi dây thứ \(i\) và sợi dây thứ \(j\) là tổng độ dài hai sợi dây \(A_i\) và \(A_j\).

Input

  • Dòng đầu tiên đưa vào số lượng bộ test \(T\) (\(1 \leq T \leq 100\)).
  • Những dòng kế tiếp đưa vào các bộ test. Mỗi bộ test gồm hai dòng:
    • Dòng thứ nhất đưa vào số lượng sợi dây \(N\) (\(1 \leq N \leq 10^6\));
    • Dòng tiếp theo đưa vào \(N\) số \(A_i\) (\(1 \leq i \leq N, 0 \leq A_i \leq 10^6\)) là độ dài của các sợi dây;
  • Các số được viết cách nhau một vài khoảng trống.

Output

  • Đưa ra kết quả mỗi test theo từng dòng.

Example

Test 1
Input
2
4
4 3 2 6
5
4 2 7 6 9
Output
29
62

Bình luận (2)

Mới nhất
Tải bình luận...