Submission #1002009


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]);
                }
                Q = new Que(d);
            }
            else{
                for(int j=0;j<A[i];j++){
                    Q.Put(Q.Get(2*j+1));
                }
            }
            for(int k=0;k<sum;k++){
                Console.WriteLine(Q.Get(k));
            }
            Console.WriteLine();
        }
        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 0
Code Size 2628 Byte
Status WA
Exec Time 2105 ms
Memory 24456 KB

Judge Result

Set Name sample dataset1 dataset2
Score / Max Score 0 / 0 0 / 700 0 / 900
Status
WA × 2
AC × 4
WA × 1
TLE × 15
AC × 6
WA × 2
TLE × 29
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 TLE 2104 ms 21456 KB
01-02.txt AC 20 ms 2776 KB
01-03.txt TLE 2103 ms 12120 KB
01-04.txt TLE 2104 ms 17744 KB
01-05.txt TLE 2104 ms 21456 KB
01-06.txt TLE 2104 ms 21456 KB
01-07.txt TLE 2104 ms 15568 KB
01-08.txt TLE 2104 ms 21584 KB
01-09.txt TLE 2104 ms 21712 KB
01-10.txt TLE 2103 ms 11992 KB
01-11.txt TLE 2103 ms 13912 KB
01-12.txt TLE 2104 ms 20944 KB
01-13.txt TLE 2104 ms 21456 KB
01-14.txt TLE 2104 ms 21328 KB
01-15.txt TLE 2104 ms 21456 KB
01-16.txt TLE 2104 ms 21456 KB
01-17.txt AC 1015 ms 16456 KB
01-18.txt AC 1021 ms 16456 KB
01-19.txt AC 1028 ms 16456 KB
02-01.txt TLE 2103 ms 14168 KB
02-02.txt TLE 2104 ms 21456 KB
02-03.txt TLE 2104 ms 21456 KB
02-04.txt TLE 2104 ms 21456 KB
02-05.txt TLE 2105 ms 11992 KB
02-06.txt TLE 2104 ms 21712 KB
02-07.txt TLE 2104 ms 21712 KB
02-08.txt TLE 2103 ms 11864 KB
02-09.txt TLE 2103 ms 11992 KB
02-10.txt TLE 2104 ms 16976 KB
02-11.txt TLE 2104 ms 21328 KB
02-12.txt TLE 2104 ms 21200 KB
02-13.txt TLE 2104 ms 21456 KB
02-14.txt TLE 2104 ms 21456 KB
02-15.txt AC 1174 ms 24456 KB
02-16.txt AC 1184 ms 24328 KB
sample-01.txt WA 20 ms 2776 KB
sample-02.txt WA 21 ms 2776 KB