| 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) |
