| Task: | Omenat |
| Sender: | Etsubu |
| Submission time: | 2015-01-29 15:06:47 +0200 |
| Language: | Java |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | RUNTIME ERROR | 0 |
| #2 | RUNTIME ERROR | 0 |
| #3 | RUNTIME ERROR | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | RUNTIME ERROR | 0.06 s | 1 | details |
| #2 | RUNTIME ERROR | 0.10 s | 1 | details |
| #3 | RUNTIME ERROR | 0.07 s | 1 | details |
| #4 | RUNTIME ERROR | 0.08 s | 1 | details |
| #5 | RUNTIME ERROR | 0.09 s | 1 | details |
| #6 | RUNTIME ERROR | 0.06 s | 1 | details |
| #7 | RUNTIME ERROR | 0.06 s | 2 | details |
| #8 | RUNTIME ERROR | 0.07 s | 2 | details |
| #9 | RUNTIME ERROR | 0.08 s | 2 | details |
| #10 | RUNTIME ERROR | 0.08 s | 2 | details |
| #11 | RUNTIME ERROR | 0.05 s | 2 | details |
| #12 | RUNTIME ERROR | 0.08 s | 2 | details |
| #13 | RUNTIME ERROR | 0.08 s | 3 | details |
| #14 | RUNTIME ERROR | 0.06 s | 3 | details |
| #15 | RUNTIME ERROR | 0.05 s | 3 | details |
| #16 | RUNTIME ERROR | 0.06 s | 3 | details |
| #17 | RUNTIME ERROR | 0.06 s | 3 | details |
| #18 | RUNTIME ERROR | 0.06 s | 3 | details |
Code
package Omenat;
import java.util.*;
import java.io.*;
public class Main {
private static int search(ArrayList<Integer> apples,int sum,int depth){
int minValue=Integer.MAX_VALUE;
for(int i=0;i<apples.size();i++){
int n=sum-apples.get(i);
if(n%3==0){
return depth;
}else{
int value=apples.get(i);
apples.remove(i);
int d=search(apples,n,depth+1);
minValue=Math.min(minValue, d);
apples.add(i, value);
}
}
return minValue;
}
public static void main(String[] args) {
IO io = new IO();
int appleCount=io.nextInt();
ArrayList<Integer> apples=new ArrayList<Integer>();
int base=0;
int sum=0;
for(int i=0;i<appleCount;i++){
int apple=io.nextInt();
if(apple%3==0){
base++;
}
else{
apples.add(apple);
sum+=apple;
}
}
int d=search(apples,sum,1);
int result=base + (appleCount-base-d);
io.print(result);
/*String a = io.next(); // Lukee seuraavan välein erotellun merkkijonon.
int b = io.nextInt(); // Lukee seuraavan välein erotellun int-kokonaisluvun.
long c = io.nextLong(); // Lukee seuraavan välein erotellun long-kokonaisluvun.
double d = io.nextDouble(); // Lukee seuraavan välein erotellun double-liukuluvun.
// Toimii kuten System.out.println.
io.println("Annoit syötteenä " + a + " " + b + " " + c + " " + d);
*/
io.close(); // TÄYTYY KUTSUA LOPUKSI, muuten tuloste voi jäädä kirjoittamatta
}
}
class IO extends PrintWriter {
private InputStreamReader r;
private static final int BUFSIZE = 1 << 15;
private char[] buf;
private int bufc;
private int bufi;
private StringBuilder sb;
public IO() {
super(new BufferedOutputStream(System.out));
r = new InputStreamReader(System.in);
buf = new char[BUFSIZE];
bufc = 0;
bufi = 0;
sb = new StringBuilder();
}
private void fillBuf() throws IOException {
bufi = 0;
bufc = 0;
while(bufc == 0) {
bufc = r.read(buf, 0, BUFSIZE);
if(bufc == -1) {
bufc = 0;
return;
}
}
}
private boolean pumpBuf() throws IOException {
if(bufi == bufc) {
fillBuf();
}
return bufc != 0;
}
private boolean isDelimiter(char c) {
return c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f';
}
private void eatDelimiters() throws IOException {
while(true) {
if(bufi == bufc) {
fillBuf();
if(bufc == 0) throw new RuntimeException("IO: Out of input.");
}
if(!isDelimiter(buf[bufi])) break;
++bufi;
}
}
public String next() {
try {
sb.setLength(0);
eatDelimiters();
int start = bufi;
while(true) {
if(bufi == bufc) {
sb.append(buf, start, bufi - start);
fillBuf();
start = 0;
if(bufc == 0) break;
}
if(isDelimiter(buf[bufi])) break;
++bufi;
}
sb.append(buf, start, bufi - start);
return sb.toString();
} catch(IOException e) {
throw new RuntimeException("IO.next: Caught IOException.");
}
}
public int nextInt() {
try {
int ret = 0;
eatDelimiters();
boolean positive = true;
if(buf[bufi] == '-') {
++bufi;
if(!pumpBuf()) throw new RuntimeException("IO.nextInt: Invalid int.");
positive = false;
}
boolean first = true;
while(true) {
if(!pumpBuf()) break;
if(isDelimiter(buf[bufi])) {
if(first) throw new RuntimeException("IO.nextInt: Invalid int.");
break;
}
first = false;
if(buf[bufi] >= '0' && buf[bufi] <= '9') {
if(ret < -214748364) throw new RuntimeException("IO.nextInt: Invalid int.");
ret *= 10;
ret -= (int)(buf[bufi] - '0');
if(ret > 0) throw new RuntimeException("IO.nextInt: Invalid int.");
} else {
throw new RuntimeException("IO.nextInt: Invalid int.");
}
++bufi;
}
if(positive) {
if(ret == -2147483648) throw new RuntimeException("IO.nextInt: Invalid int.");
ret = -ret;
}
return ret;
} catch(IOException e) {
throw new RuntimeException("IO.nextInt: Caught IOException.");
}
}
public long nextLong() {
try {
long ret = 0;
eatDelimiters();
boolean positive = true;
if(buf[bufi] == '-') {
++bufi;
if(!pumpBuf()) throw new RuntimeException("IO.nextLong: Invalid long.");
positive = false;
}
boolean first = true;
while(true) {
if(!pumpBuf()) break;
if(isDelimiter(buf[bufi])) {
if(first) throw new RuntimeException("IO.nextLong: Invalid long.");
break;
}
first = false;
if(buf[bufi] >= '0' && buf[bufi] <= '9') {
if(ret < -922337203685477580L) throw new RuntimeException("IO.nextLong: Invalid long.");
ret *= 10;
ret -= (long)(buf[bufi] - '0');
if(ret > 0) throw new RuntimeException("IO.nextLong: Invalid long.");
} else {
throw new RuntimeException("IO.nextLong: Invalid long.");
}
++bufi;
}
if(positive) {
if(ret == -9223372036854775808L) throw new RuntimeException("IO.nextLong: Invalid long.");
ret = -ret;
}
return ret;
} catch(IOException e) {
throw new RuntimeException("IO.nextLong: Caught IOException.");
}
}
public double nextDouble() {
return Double.parseDouble(next());
}
}Test details
Test 1
Group: 1
Verdict: RUNTIME ERROR
| input |
|---|
| 20 34 98 42 72 75 91 76 30 98 7 1... |
| correct output |
|---|
| 20 |
| user output |
|---|
| (empty) |
Error:
Error: Could not find or load main class Main
Test 2
Group: 1
Verdict: RUNTIME ERROR
| input |
|---|
| 20 20 97 85 24 47 57 69 92 21 72 ... |
| correct output |
|---|
| 19 |
| user output |
|---|
| (empty) |
Error:
Error: Could not find or load main class Main
Test 3
Group: 1
Verdict: RUNTIME ERROR
| input |
|---|
| 20 36 35 3 15 84 14 24 33 39 27 7... |
| correct output |
|---|
| 18 |
| user output |
|---|
| (empty) |
Error:
Error: Could not find or load main class Main
Test 4
Group: 1
Verdict: RUNTIME ERROR
| input |
|---|
| 20 75 87 27 66 14 48 34 1 52 47 7... |
| correct output |
|---|
| 20 |
| user output |
|---|
| (empty) |
Error:
Error: Could not find or load main class Main
Test 5
Group: 1
Verdict: RUNTIME ERROR
| input |
|---|
| 20 83 7 54 38 21 51 61 61 14 32 3... |
| correct output |
|---|
| 19 |
| user output |
|---|
| (empty) |
Error:
Error: Could not find or load main class Main
Test 6
Group: 1
Verdict: RUNTIME ERROR
| input |
|---|
| 20 76 24 28 45 36 87 81 21 48 43 ... |
| correct output |
|---|
| 18 |
| user output |
|---|
| (empty) |
Error:
Error: Could not find or load main class Main
Test 7
Group: 2
Verdict: RUNTIME ERROR
| input |
|---|
| 100 9 48 27 13 12 23 23 35 14 58 2... |
| correct output |
|---|
| 100 |
| user output |
|---|
| (empty) |
Error:
Error: Could not find or load main class Main
Test 8
Group: 2
Verdict: RUNTIME ERROR
| input |
|---|
| 100 22 87 66 23 77 17 41 66 31 40 ... |
| correct output |
|---|
| 99 |
| user output |
|---|
| (empty) |
Error:
Error: Could not find or load main class Main
Test 9
Group: 2
Verdict: RUNTIME ERROR
| input |
|---|
| 100 90 50 48 47 20 93 36 48 69 2 6... |
| correct output |
|---|
| 98 |
| user output |
|---|
| (empty) |
Error:
Error: Could not find or load main class Main
Test 10
Group: 2
Verdict: RUNTIME ERROR
| input |
|---|
| 100 88 39 9 21 51 92 94 75 71 19 8... |
| correct output |
|---|
| 100 |
| user output |
|---|
| (empty) |
Error:
Error: Could not find or load main class Main
Test 11
Group: 2
Verdict: RUNTIME ERROR
| input |
|---|
| 100 76 37 49 50 59 68 6 100 48 18 ... |
| correct output |
|---|
| 99 |
| user output |
|---|
| (empty) |
Error:
Error: Could not find or load main class Main
Test 12
Group: 2
Verdict: RUNTIME ERROR
| input |
|---|
| 100 78 45 100 25 90 85 33 90 45 54... |
| correct output |
|---|
| 98 |
| user output |
|---|
| (empty) |
Error:
Error: Could not find or load main class Main
Test 13
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 100000 460655049 593289072 315159623 ... |
| correct output |
|---|
| 100000 |
| user output |
|---|
| (empty) |
Error:
Error: Could not find or load main class Main
Test 14
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 100000 935436362 204516709 337519402 ... |
| correct output |
|---|
| 99999 |
| user output |
|---|
| (empty) |
Error:
Error: Could not find or load main class Main
Test 15
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 100000 68654915 40061376 215300034 43... |
| correct output |
|---|
| 99998 |
| user output |
|---|
| (empty) |
Error:
Error: Could not find or load main class Main
Test 16
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 100000 435410962 22254303 500625758 6... |
| correct output |
|---|
| 100000 |
| user output |
|---|
| (empty) |
Error:
Error: Could not find or load main class Main
Test 17
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 100000 230562634 84329865 874955526 8... |
| correct output |
|---|
| 99999 |
| user output |
|---|
| (empty) |
Error:
Error: Could not find or load main class Main
Test 18
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 100000 29734968 168066517 710394372 3... |
| correct output |
|---|
| 99998 |
| user output |
|---|
| (empty) |
Error:
Error: Could not find or load main class Main
