█████████ ████ ███░░░░░███ ░░███ ███ ░░░ ██████ ███████ ██████ ██████ ░███ ███░░███ ███░░███ ███░░███ ███░░███ ░███ ░███ ░███░███ ░███ ░███████ ░███ ░███ ░░███ ███░███ ░███░███ ░███ ░███░░░ ░███ ░███ ░░█████████ ░░██████ ░░████████░░██████ ░░██████ ░░░░░░░░░ ░░░░░░ ░░░░░░░░ ░░░░░░ ░░░░░░

Envío 4062

Problema 0x25 - Suma de un subarreglo grande

  • Autor: juanboterog
  • Fecha: 2021-05-02 20:11:16 UTC (Hace casi 3 años)
Caso # Resultado Tiempo Memoria
#1
Correcto
0.139 s 14 KBi
#2
Correcto
0.128 s 14 KBi
#3
Correcto
0.121 s 12 KBi
#4
Correcto
0.12 s 12 KBi
#5
Correcto
0.118 s 16 KBi
#6
Correcto
0.144 s 12 KBi
#7
Correcto
0.2 s 14 KBi
#8
Correcto
0.436 s 44 KBi
#9
Tiempo límite excedido
1.025 s 58 KBi
#10
Tiempo límite excedido
1.115 s 59 KBi
#11
Correcto
0.843 s 123 KBi
#12
Correcto
0.832 s 123 KBi
#13
Tiempo límite excedido
1.011 s 51 KBi
#14
Tiempo límite excedido
1.056 s 87 KBi
Puntos totales: 72 / 100

Código

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int[] a = new int[n];
        for (int i = 0; i < n; i++) {
            a[i] = scanner.nextInt();
        }
        //O(n)
        int[] s = new int[n];
        int sum = 0;
        for (int i = 0; i < n; i++) {
            sum += a[i];
            s[i] = sum;
        }
        
        int c = scanner.nextInt();
        for (int k = 0; k < c; k++) {
            int p = scanner.nextInt();
            int q = scanner.nextInt();
            solve(a, s, p, q);
        }
    }

    private static void solve(int[] a, int[] s, int p, int q) {
        int sum = 0;
        sum = s[q];
        if (p - 1 >= 0) {
            sum -= s[p - 1];
        }
        System.out.println(sum);
    }
}