| Task: | Omenat |
| Sender: | Etsubu |
| Submission time: | 2015-01-29 13:14:02 +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 | WRONG ANSWER | 0.07 s | 1 | details |
| #2 | ACCEPTED | 0.06 s | 1 | details |
| #3 | ACCEPTED | 0.07 s | 1 | details |
| #4 | WRONG ANSWER | 0.08 s | 1 | details |
| #5 | ACCEPTED | 0.06 s | 1 | details |
| #6 | ACCEPTED | 0.10 s | 1 | details |
| #7 | TIME LIMIT EXCEEDED | -- | 2 | details |
| #8 | ACCEPTED | 0.06 s | 2 | details |
| #9 | TIME LIMIT EXCEEDED | -- | 2 | details |
| #10 | TIME LIMIT EXCEEDED | -- | 2 | details |
| #11 | ACCEPTED | 0.06 s | 2 | details |
| #12 | TIME LIMIT EXCEEDED | -- | 2 | details |
| #13 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #14 | ACCEPTED | 0.09 s | 3 | details |
| #15 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #16 | WRONG ANSWER | 0.10 s | 3 | details |
| #17 | ACCEPTED | 0.09 s | 3 | details |
| #18 | TIME LIMIT EXCEEDED | -- | 3 | details |
Code
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
int haku(int *apples,int appleAmount,int sum,int depth){
//int size=apples.size();
//vector<int> v=(apples,apples+appleAmount / sizeof(int) );
//v.erase(v.begin()+1);
//cout << "sum" << appleAmount << endl;
int *array=new int[appleAmount];
memcpy(array,apples,appleAmount*sizeof(int));
int minDepth=200000000;
for(int i=0;i<appleAmount;i++){
if(array[i]==0)
continue;
if((sum-array[i])%3==0){
delete[] array;
return depth;
}
else{
int i2=array[i];
array[i]=0;
int d=haku(array,appleAmount,sum-i,depth+1);
if(d<minDepth)
minDepth=d;
array[i]=i2;
}
}
//cout << array[i] << ":" <<i << endl;
delete[] array;
return minDepth;
}
int main(int argc,char *argv[]){
cin.sync_with_stdio(false);
int appleAmount;
cin >> appleAmount;
int *apples=new int[appleAmount];
//vector<int> apples;// (appleAmount,0);
int baseCount=0;
int sum=0;
for(int i=0;i<appleAmount;i++){
cin >> apples[i];
if(apples[i]%3==0){
apples[i]=0;
//appleAmount;
//i--;
baseCount++;
continue;
}
//apples.push_back(m);
sum+=apples[i];
//cin >> apples[i];
}
int d=haku(apples,appleAmount,sum,1);
//cout <<"D:" << d << endl;
int result=baseCount+(appleAmount-d-baseCount);
if(d==20000000){
cout << baseCount;
}
cout << result;// << endl;
/*for(int i=0;i<appleAmount;i++)
cout << apples[i] << endl;
for(int i=0;i<appleAmount;i++){
}*/
delete[] apples;
return 0;
}
Test details
Test 1
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 20 34 98 42 72 75 91 76 30 98 7 1... |
| correct output |
|---|
| 20 |
| user output |
|---|
| 18 |
Test 2
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 20 20 97 85 24 47 57 69 92 21 72 ... |
| correct output |
|---|
| 19 |
| user output |
|---|
| 19 |
Test 3
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 20 36 35 3 15 84 14 24 33 39 27 7... |
| correct output |
|---|
| 18 |
| user output |
|---|
| 18 |
Test 4
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 20 75 87 27 66 14 48 34 1 52 47 7... |
| correct output |
|---|
| 20 |
| user output |
|---|
| 18 |
Test 5
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 20 83 7 54 38 21 51 61 61 14 32 3... |
| correct output |
|---|
| 19 |
| user output |
|---|
| 19 |
Test 6
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 20 76 24 28 45 36 87 81 21 48 43 ... |
| correct output |
|---|
| 18 |
| user output |
|---|
| 18 |
Test 7
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100 9 48 27 13 12 23 23 35 14 58 2... |
| correct output |
|---|
| 100 |
| user output |
|---|
| (empty) |
Test 8
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 100 22 87 66 23 77 17 41 66 31 40 ... |
| correct output |
|---|
| 99 |
| user output |
|---|
| 99 |
Test 9
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100 90 50 48 47 20 93 36 48 69 2 6... |
| correct output |
|---|
| 98 |
| user output |
|---|
| (empty) |
Test 10
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100 88 39 9 21 51 92 94 75 71 19 8... |
| correct output |
|---|
| 100 |
| user output |
|---|
| (empty) |
Test 11
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 100 76 37 49 50 59 68 6 100 48 18 ... |
| correct output |
|---|
| 99 |
| user output |
|---|
| 99 |
Test 12
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100 78 45 100 25 90 85 33 90 45 54... |
| correct output |
|---|
| 98 |
| user output |
|---|
| (empty) |
Test 13
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100000 460655049 593289072 315159623 ... |
| correct output |
|---|
| 100000 |
| user output |
|---|
| (empty) |
Test 14
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 100000 935436362 204516709 337519402 ... |
| correct output |
|---|
| 99999 |
| user output |
|---|
| 99999 |
Test 15
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100000 68654915 40061376 215300034 43... |
| correct output |
|---|
| 99998 |
| user output |
|---|
| (empty) |
Test 16
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 100000 435410962 22254303 500625758 6... |
| correct output |
|---|
| 100000 |
| user output |
|---|
| 99999 |
Test 17
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 100000 230562634 84329865 874955526 8... |
| correct output |
|---|
| 99999 |
| user output |
|---|
| 99999 |
Test 18
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100000 29734968 168066517 710394372 3... |
| correct output |
|---|
| 99998 |
| user output |
|---|
| (empty) |
