Task: | Pörssihai |
Sender: | Etsubu |
Submission time: | 2015-01-29 16:43:49 +0200 |
Language: | Java |
Status: | READY |
Result: | 29 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 12 |
#2 | ACCEPTED | 17 |
#3 | TIME LIMIT EXCEEDED | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.06 s | 1 | details |
#2 | ACCEPTED | 0.06 s | 1 | details |
#3 | ACCEPTED | 0.06 s | 1 | details |
#4 | ACCEPTED | 1.55 s | 2 | details |
#5 | ACCEPTED | 1.58 s | 2 | details |
#6 | ACCEPTED | 1.57 s | 2 | details |
#7 | TIME LIMIT EXCEEDED | -- | 3 | details |
#8 | TIME LIMIT EXCEEDED | -- | 3 | details |
#9 | TIME LIMIT EXCEEDED | -- | 3 | details |
#10 | TIME LIMIT EXCEEDED | -- | 3 | details |
#11 | TIME LIMIT EXCEEDED | -- | 3 | details |
#12 | TIME LIMIT EXCEEDED | -- | 3 | details |
#13 | TIME LIMIT EXCEEDED | -- | 3 | details |
#14 | TIME LIMIT EXCEEDED | -- | 3 | details |
#15 | TIME LIMIT EXCEEDED | -- | 3 | details |
#16 | TIME LIMIT EXCEEDED | -- | 3 | details |
#17 | TIME LIMIT EXCEEDED | -- | 3 | details |
#18 | TIME LIMIT EXCEEDED | -- | 3 | details |
#19 | TIME LIMIT EXCEEDED | -- | 3 | details |
#20 | TIME LIMIT EXCEEDED | -- | 3 | details |
Code
//package Omenat; import java.io.BufferedOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; public class Porssi { /** * @param args */ public static void main(String[] args) { IO io=new IO(); int days=io.nextInt(); int array[]=new int [days]; long sumArray[]=new long[days]; for(int i=0;i<days;i++) array[i]=io.nextInt(); sumArray[days-1]=array[days-1]; for(int i=days-2;i>=0;i--){ sumArray[i]=sumArray[i+1]+array[i]; //System.out.println(sumArray[i]); } for(int i=0;i<days;i++){ int sequence=1; double max=array[i]; //long sum=array[i]; for(int j=i-1;j>=0;j--){ long sum; if(i+1==days) sum=sumArray[j]; else sum=sumArray[j]-sumArray[i+1]; //System.out.println(sum+":"+sum/(i+1-j)); if(((double)(sum/(i+1-j)))>=max){ max=(double)(sum/(i+1-j)); sequence=i+1-j; //System.out.println("max set"); } } io.print(Integer.toString(sequence)+" "); } io.close(); } } //7 //1 6 4 6 2 5 5 //1 1 2 1 4 1 2 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: ACCEPTED
input |
---|
200 5986 845897 759781 171305 7836... |
correct output |
---|
1 1 2 3 4 1 1 2 4 1 2 1 2 5 6 ... |
user output |
---|
1 1 2 3 4 1 1 2 4 1 2 1 2 5 6 ... |
Test 2
Group: 1
Verdict: ACCEPTED
input |
---|
200 607815 909742 130099 813674 34... |
correct output |
---|
1 1 3 1 5 1 1 3 4 5 1 1 1 4 10... |
user output |
---|
1 1 3 1 5 1 1 3 4 5 1 1 1 4 10... |
Test 3
Group: 1
Verdict: ACCEPTED
input |
---|
200 921591 381013 930275 151815 69... |
correct output |
---|
1 2 1 4 5 1 2 3 4 1 2 7 1 2 3 ... |
user output |
---|
1 2 1 4 5 1 2 3 4 1 2 7 1 2 3 ... |
Test 4
Group: 2
Verdict: ACCEPTED
input |
---|
5000 952303 272950 268680 897180 13... |
correct output |
---|
1 2 3 1 2 1 4 8 9 10 1 2 13 14... |
user output |
---|
1 2 3 1 2 1 4 8 9 10 1 2 13 14... |
Test 5
Group: 2
Verdict: ACCEPTED
input |
---|
5000 815856 460818 496023 308974 33... |
correct output |
---|
1 2 3 4 5 1 1 2 9 1 11 12 13 1... |
user output |
---|
1 2 3 4 5 1 1 2 9 1 11 12 13 1... |
Test 6
Group: 2
Verdict: ACCEPTED
input |
---|
5000 4889 373080 366119 72135 10214... |
correct output |
---|
1 1 2 3 4 1 1 2 3 4 5 1 2 3 1 ... |
user output |
---|
1 1 2 3 4 1 1 2 3 4 5 1 2 3 1 ... |
Test 7
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000000 444890 370930 385763 316218 44... |
correct output |
---|
1 2 3 4 1 2 3 4 9 1 2 1 4 5 6 ... |
user output |
---|
(empty) |
Test 8
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000000 202077 270536 246808 189471 19... |
correct output |
---|
1 1 2 3 4 1 1 3 4 5 1 2 8 9 10... |
user output |
---|
(empty) |
Test 9
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000000 736301 784710 628727 708231 64... |
correct output |
---|
1 1 3 4 5 6 7 1 2 1 4 1 1 7 1 ... |
user output |
---|
(empty) |
Test 10
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000000 242104 238293 242641 242281 24... |
correct output |
---|
1 2 1 2 3 1 2 3 1 2 1 4 11 12 ... |
user output |
---|
(empty) |
Test 11
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000000 252952 189698 245317 275463 24... |
correct output |
---|
1 2 1 1 2 4 7 1 2 3 1 2 3 1 1 ... |
user output |
---|
(empty) |
Test 12
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000000 214451 357457 213436 351167 21... |
correct output |
---|
1 1 2 1 4 5 6 7 8 9 1 1 3 4 5 ... |
user output |
---|
(empty) |
Test 13
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000000 363703 361248 358992 356404 35... |
correct output |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
user output |
---|
(empty) |
Test 14
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000000 718920 716974 715476 714540 71... |
correct output |
---|
1 2 3 4 5 6 7 1 1 1 1 1 1 1 1 ... |
user output |
---|
(empty) |
Test 15
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000000 614078 647174 701983 580935 58... |
correct output |
---|
1 1 1 3 4 1 6 8 9 1 1 3 4 14 1... |
user output |
---|
(empty) |
Test 16
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000000 788376 788632 788880 789118 78... |
correct output |
---|
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
user output |
---|
(empty) |
Test 17
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000000 711774 711541 711305 711627 71... |
correct output |
---|
1 2 3 1 2 6 1 2 1 2 3 6 7 1 2 ... |
user output |
---|
(empty) |
Test 18
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000000 685798 944128 587123 653271 65... |
correct output |
---|
1 1 2 3 4 1 2 7 8 10 11 1 1 3 ... |
user output |
---|
(empty) |
Test 19
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000000 734074 734109 733868 733873 73... |
correct output |
---|
1 1 3 4 5 1 1 1 1 1 1 1 3 5 6 ... |
user output |
---|
(empty) |
Test 20
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
1000000 143117 1 267468 262833 141471 ... |
correct output |
---|
1 2 1 2 3 1 1 2 4 1 2 10 11 12... |
user output |
---|
(empty) |