Task: | Aitaus |
Sender: | JesseNiininen |
Submission time: | 2017-03-06 18:09:33 +0200 |
Language: | C++ |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | WRONG ANSWER | 0 |
#2 | TIME LIMIT EXCEEDED | 0 |
#3 | TIME LIMIT EXCEEDED | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.04 s | 1 | details |
#2 | ACCEPTED | 0.04 s | 1 | details |
#3 | ACCEPTED | 0.04 s | 1 | details |
#4 | WRONG ANSWER | 0.04 s | 1 | details |
#5 | WRONG ANSWER | 0.04 s | 1 | details |
#6 | TIME LIMIT EXCEEDED | -- | 2 | details |
#7 | TIME LIMIT EXCEEDED | -- | 2 | details |
#8 | RUNTIME ERROR | 0.63 s | 2 | details |
#9 | RUNTIME ERROR | 0.83 s | 2 | details |
#10 | RUNTIME ERROR | 0.64 s | 2 | details |
#11 | TIME LIMIT EXCEEDED | -- | 3 | details |
#12 | TIME LIMIT EXCEEDED | -- | 3 | details |
#13 | RUNTIME ERROR | 0.67 s | 3 | details |
#14 | RUNTIME ERROR | 0.68 s | 3 | details |
#15 | RUNTIME ERROR | 0.65 s | 3 | details |
Compiler report
input/code.cpp: In function 'void eiHyvinMee(std::vector<int>, int)': input/code.cpp:17:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int j = 0; j < v.size(); j++){ ^ input/code.cpp:35:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int j = 0; j < v.size(); j++){ ^ input/code.cpp:36:9: warning: 'smallestEz' may be used uninitialized in this function [-Wmaybe-uninitialized] if(smallestEz & (1 << j)){ ^
Code
#include <bits/stdc++.h> using namespace std; int cost = 0; void eiHyvinMee(vector<int> v, int l){ if(v.size() <= 1) return; cost += l; int ez = pow(2, v.size()); int i = 0; int smallestDiff = 1000000; int smallestEz; while(i < ez){ int g1 = 0; int g2 = 0; for(int j = 0; j < v.size(); j++){ if(i & (1 << j)){ g1 += v[j]; }else{ g2 += v[j]; } } if(abs(g1 - g2) < smallestDiff){ smallestDiff = abs(g1 - g2); smallestEz = i; } i++; } vector<int> g1; vector<int> g2; int g1L = 0; int g2L = 0; for(int j = 0; j < v.size(); j++){ if(smallestEz & (1 << j)){ g1.push_back(v[j]); g1L += v[j]; }else{ g2.push_back(v[j]); g2L += v[j]; } } eiHyvinMee(g1, g1L); eiHyvinMee(g2, g2L); } int main() { int n; cin >> n; vector<int> v(n); int l = 0; for(int i = 0; i < n; i++){ cin >> v[i]; l += v[i]; } eiHyvinMee(v, l); cout << cost << "\n"; }
Test details
Test 1
Group: 1
Verdict: ACCEPTED
input |
---|
10 1 1 1 1 1 1 1 1 1 1 |
correct output |
---|
34 |
user output |
---|
34 |
Test 2
Group: 1
Verdict: ACCEPTED
input |
---|
10 1000 1000 1000 1000 1000 1000 ... |
correct output |
---|
34000 |
user output |
---|
34000 |
Test 3
Group: 1
Verdict: ACCEPTED
input |
---|
10 713 590 643 971 889 796 972 3 ... |
correct output |
---|
18501 |
user output |
---|
18501 |
Test 4
Group: 1
Verdict: WRONG ANSWER
input |
---|
10 991 740 433 558 522 338 240 27... |
correct output |
---|
15614 |
user output |
---|
15909 |
Test 5
Group: 1
Verdict: WRONG ANSWER
input |
---|
10 397 775 568 796 632 898 214 84... |
correct output |
---|
20791 |
user output |
---|
20792 |
Test 6
Group: 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
correct output |
---|
9976 |
user output |
---|
(empty) |
Test 7
Group: 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000 1000000000 1000000000 10000000... |
correct output |
---|
9976000000000 |
user output |
---|
(empty) |
Test 8
Group: 2
Verdict: RUNTIME ERROR
input |
---|
1000 377480143 777745434 296992200 ... |
correct output |
---|
4829974948360 |
user output |
---|
(empty) |
Test 9
Group: 2
Verdict: RUNTIME ERROR
input |
---|
1000 599885439 985529375 118284730 ... |
correct output |
---|
4880180545408 |
user output |
---|
(empty) |
Test 10
Group: 2
Verdict: RUNTIME ERROR
input |
---|
1000 695015028 950574688 862418845 ... |
correct output |
---|
5089402448969 |
user output |
---|
(empty) |
Test 11
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
100000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
correct output |
---|
1668928 |
user output |
---|
(empty) |
Test 12
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
100000 1000000000 1000000000 10000000... |
correct output |
---|
1668928000000000 |
user output |
---|
(empty) |
Test 13
Group: 3
Verdict: RUNTIME ERROR
input |
---|
100000 391395666 905124111 713186504 ... |
correct output |
---|
818091245007558 |
user output |
---|
(empty) |
Test 14
Group: 3
Verdict: RUNTIME ERROR
input |
---|
100000 535008265 825579494 118746814 ... |
correct output |
---|
819167891088786 |
user output |
---|
(empty) |
Test 15
Group: 3
Verdict: RUNTIME ERROR
input |
---|
100000 386356481 309596857 386341601 ... |
correct output |
---|
816647450882063 |
user output |
---|
(empty) |