Submission #1002030
Source Code Expand
using System; using System.Text; using System.Collections.Generic; class Solve{ int N; int[] A; public Solve(){} StringBuilder sb; public static int Main(){ new Solve().Run(); return 0; } void Run(){ sb = new StringBuilder(); Read(); Calc(); Console.Write(sb.ToString()); } void Calc(){ Que Q; int sum = 0; for(int i=2;i<N-1;i++){ sum += A[i]; } { int[] d = new int[sum]; for(int i=0;i<sum;i++){ d[i] = i; } Q = new Que(d); } for(int i=2;i<N-1;i++){ if(A[i]*2+1 > sum){ int[] d = new int[sum]; for(int j=0;j<A[i];j++){ d[j] = Q.Get(A[i]-j); } for(int j=A[i];j<sum;j++){ d[j] = Q.Get(j-A[i]); } if(A[i] == sum && A[i] != 0){ d[0] = sum; } Q = new Que(d); } else{ for(int j=0;j<A[i];j++){ Q.Put(Q.Get(2*j+1)); } } } int M = int.Parse(Console.ReadLine()); for(int i=0;i<M;i++){ long j = Int64.Parse(Console.ReadLine()); if(j >= sum){ long ans = j - sum + A[0] - A[1]; sb.Append(ans+"\n"); } else{ long ans = Q.Get((int)(j)) + A[0] - A[1]; sb.Append(ans+"\n"); } } } void Read(){ N = int.Parse(Console.ReadLine()); A = new int[N-1]; string[] str = Console.ReadLine().Split(' '); for(int i=0;i<N-1;i++){ A[i] = int.Parse(str[i]); } } } class Que{ public int[] array; int pointer; int length; public Que(int[] a){ array = a; pointer = 0; length = a.Length; } public Que(int n){ array = new int[n]; pointer = n; length = n; } public void Put(int a){ if(pointer == 0){ pointer = length-1; } else{ pointer--; } array[pointer] = a; } public int Get(int n){ if(pointer + n >= length){ return array[pointer + n - length]; } else{ return array[pointer + n]; } } }
Submission Info
Submission Time | |
---|---|
Task | H - Tokaido |
User | leign |
Language | C# (Mono 4.6.2.0) |
Score | 1600 |
Code Size | 2594 Byte |
Status | AC |
Exec Time | 262 ms |
Memory | 26404 KB |
Judge Result
Set Name | sample | dataset1 | dataset2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 700 / 700 | 900 / 900 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
sample | sample-01.txt, sample-02.txt |
dataset1 | sample-01.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt |
dataset2 | sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 02-16.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01-01.txt | AC | 95 ms | 19544 KB |
01-02.txt | AC | 20 ms | 2648 KB |
01-03.txt | AC | 34 ms | 6744 KB |
01-04.txt | AC | 62 ms | 12376 KB |
01-05.txt | AC | 96 ms | 19544 KB |
01-06.txt | AC | 96 ms | 19544 KB |
01-07.txt | AC | 54 ms | 10200 KB |
01-08.txt | AC | 97 ms | 19672 KB |
01-09.txt | AC | 97 ms | 19672 KB |
01-10.txt | AC | 33 ms | 6616 KB |
01-11.txt | AC | 46 ms | 12504 KB |
01-12.txt | AC | 97 ms | 23256 KB |
01-13.txt | AC | 100 ms | 23508 KB |
01-14.txt | AC | 99 ms | 23384 KB |
01-15.txt | AC | 106 ms | 23512 KB |
01-16.txt | AC | 94 ms | 23508 KB |
01-17.txt | AC | 85 ms | 16324 KB |
01-18.txt | AC | 86 ms | 16320 KB |
01-19.txt | AC | 84 ms | 16320 KB |
02-01.txt | AC | 69 ms | 14168 KB |
02-02.txt | AC | 262 ms | 26092 KB |
02-03.txt | AC | 236 ms | 22704 KB |
02-04.txt | AC | 231 ms | 22192 KB |
02-05.txt | AC | 176 ms | 14768 KB |
02-06.txt | AC | 233 ms | 22448 KB |
02-07.txt | AC | 234 ms | 23464 KB |
02-08.txt | AC | 195 ms | 21420 KB |
02-09.txt | AC | 186 ms | 17200 KB |
02-10.txt | AC | 223 ms | 26152 KB |
02-11.txt | AC | 249 ms | 26276 KB |
02-12.txt | AC | 260 ms | 25856 KB |
02-13.txt | AC | 245 ms | 26020 KB |
02-14.txt | AC | 248 ms | 26404 KB |
02-15.txt | AC | 234 ms | 24200 KB |
02-16.txt | AC | 249 ms | 24200 KB |
sample-01.txt | AC | 20 ms | 2776 KB |
sample-02.txt | AC | 20 ms | 2648 KB |