Пример #1
0
    private static void Main()
    {
        int arrayLength = FastIO.ReadNonNegativeInt();

        int[] sourceArray = new int[arrayLength];
        for (int i = 0; i < arrayLength; ++i)
        {
            sourceArray[i] = FastIO.ReadInt();
        }

        var solver = new GSS1(sourceArray);

        int queryCount = FastIO.ReadNonNegativeInt();

        for (int q = 0; q < queryCount; ++q)
        {
            FastIO.WriteInt(solver.Query(
                                queryStartIndex: FastIO.ReadNonNegativeInt() - 1,
                                queryEndIndex: FastIO.ReadNonNegativeInt() - 1));
            FastIO.WriteLine();
        }

        FastIO.Flush();
    }
Пример #2
0
    // Special I/O handling is necessary to work around malformed input and get the time fast enough.
    private static void Main()
    {
        int arrayLength = int.Parse(Console.ReadLine());
        int[] sourceArray = Array.ConvertAll(
            Console.ReadLine().Split(default(char[]), StringSplitOptions.RemoveEmptyEntries),
            int.Parse);
        int queryCount = int.Parse(Console.ReadLine());

        var solver = new GSS1(sourceArray);
        var output = new StringBuilder();

        for (int i = 0; i < queryCount; ++i)
        {
            int[] line = Array.ConvertAll(
                Console.ReadLine().Split(default(char[]), StringSplitOptions.RemoveEmptyEntries),
                int.Parse);

            output.Append(solver.Query(
                queryStartIndex: line[0] - 1,
                queryEndIndex: line[1] - 1));
            output.AppendLine();
        }

        Console.Write(output);
    }