Task: | Particle Accelerator II |
Sender: | Niilo |
Submission time: | 2024-11-27 17:47:42 +0200 |
Language: | C++ (C++17) |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.00 s | details |
#2 | ACCEPTED | 0.00 s | details |
#3 | ACCEPTED | 0.00 s | details |
#4 | ACCEPTED | 0.00 s | details |
#5 | ACCEPTED | 0.00 s | details |
#6 | ACCEPTED | 0.00 s | details |
#7 | ACCEPTED | 0.00 s | details |
#8 | ACCEPTED | 0.00 s | details |
#9 | ACCEPTED | 0.00 s | details |
#10 | ACCEPTED | 0.00 s | details |
#11 | ACCEPTED | 0.00 s | details |
#12 | ACCEPTED | 0.01 s | details |
#13 | ACCEPTED | 0.10 s | details |
Code
#include <iostream> #include <cmath> #include <vector> #include <cassert> #include <algorithm> #include <set> using namespace std; #define rep(i, a, b) for(int i=a;i<(b);++i) #define all(x) begin(x),end(x) #define sz(x) int((x).size()) using ll = long long; using pii = pair<int,int>; using vi = vector<int>; multiset<int> S; int main() { int n; cin >> n; rep(i,0,n) { int x; cin >> x; S.insert(x); } ll cost = 0; while (S.size() > 1) { auto it = S.begin(); ll a = *it; S.erase(it); it = S.begin(); ll b = *it; S.erase(it); S.insert(a+b); cost += a*b; } cout << cost << '\n'; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
2 5 10 |
correct output |
---|
50 |
user output |
---|
50 |
Test 2
Verdict: ACCEPTED
input |
---|
3 5 2 1 |
correct output |
---|
17 |
user output |
---|
17 |
Test 3
Verdict: ACCEPTED
input |
---|
4 6 1 8 9 |
correct output |
---|
197 |
user output |
---|
197 |
Test 4
Verdict: ACCEPTED
input |
---|
5 10 10 6 2 10 |
correct output |
---|
552 |
user output |
---|
552 |
Test 5
Verdict: ACCEPTED
input |
---|
6 3 1 9 9 3 4 |
correct output |
---|
322 |
user output |
---|
322 |
Test 6
Verdict: ACCEPTED
input |
---|
7 9 10 4 3 9 1 1 |
correct output |
---|
540 |
user output |
---|
540 |
Test 7
Verdict: ACCEPTED
input |
---|
8 1 3 8 4 5 10 8 5 |
correct output |
---|
816 |
user output |
---|
816 |
Test 8
Verdict: ACCEPTED
input |
---|
9 9 1 10 3 9 4 6 9 3 |
correct output |
---|
1251 |
user output |
---|
1251 |
Test 9
Verdict: ACCEPTED
input |
---|
10 1803 684 195 6648 4633 1942 72... |
correct output |
---|
594464350 |
user output |
---|
594464350 |
Test 10
Verdict: ACCEPTED
input |
---|
100 1542 4463 7401 8734 2634 865 5... |
correct output |
---|
124146493451 |
user output |
---|
124146493451 |
Test 11
Verdict: ACCEPTED
input |
---|
1000 7778 6074 2376 8595 8243 8930 ... |
correct output |
---|
12149459777256 |
user output |
---|
12149459777256 |
Test 12
Verdict: ACCEPTED
input |
---|
10000 5140 9219 7732 6591 8705 3663 ... |
correct output |
---|
1274117469101964 |
user output |
---|
1274117469101964 |
Test 13
Verdict: ACCEPTED
input |
---|
100000 8489 8136 1789 5914 544 1110 3... |
correct output |
---|
125270679504052570 |
user output |
---|
125270679504052570 |