private static void Main() { int arrayLength = int.Parse(Console.ReadLine()); int[] sourceArray = Array.ConvertAll(Console.ReadLine().Trim().Split(), int.Parse); var solver = new GSS3(sourceArray); var output = new StringBuilder(); int operationCount = int.Parse(Console.ReadLine()); for (int o = 0; o < operationCount; ++o) { int[] operation = Array.ConvertAll(Console.ReadLine().Trim().Split(), int.Parse); if (operation[0] == 0) { solver.Update( updateIndex: operation[1] - 1, newValue: operation[2]); } else { output.Append(solver.Query( queryStartIndex: operation[1] - 1, queryEndIndex: operation[2] - 1)); output.AppendLine(); } } Console.Write(output); }
private static void Main() { int arrayLength = int.Parse(Console.ReadLine()); int[] sourceArray = Array.ConvertAll(Console.ReadLine().Trim().Split(), int.Parse); int operationCount = int.Parse(Console.ReadLine()); var solver = new GSS3(sourceArray); var output = new StringBuilder(); for (int o = 0; o < operationCount; ++o) { int[] operation = Array.ConvertAll(Console.ReadLine().Trim().Split(), int.Parse); if (operation[0] == 0) // Update { solver.Update( updateIndex: operation[1] - 1, newValue: operation[2]); } else // Query { output.Append(solver.Query( queryStartIndex: operation[1] - 1, queryEndIndex: operation[2] - 1)); output.AppendLine(); } } Console.Write(output); }