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

Envío 3821

Problema 0x25 - Suma de un subarreglo grande

  • Autor: bryancalisto
  • Fecha: 2021-04-17 17:41:20 UTC (Hace casi 3 años)
Caso # Resultado Tiempo Memoria
#1
Correcto
0.002 s 10 KBi
#2
Correcto
0.005 s 13 KBi
#3
Correcto
0.002 s 12 KBi
#4
Correcto
0.003 s 4 KBi
#5
Correcto
0.002 s 9 KBi
#6
Correcto
0.006 s 60 KBi
#7
Correcto
0.005 s 56 KBi
#8
Correcto
0.257 s 2 KBi
#9
Tiempo límite excedido
1.06 s 4 KBi
#10
Tiempo límite excedido
1.059 s 2 KBi
#11
Tiempo límite excedido
1.069 s 2 KBi
#12
Tiempo límite excedido
1.067 s 2 KBi
#13
Correcto
0.033 s 2 KBi
#14
Tiempo límite excedido
1.08 s 2 KBi
Puntos totales: 65 / 100

Código

#include<stdio.h>
#include<stdlib.h>

int main()
{
  int N, c, i = 0, j, *arr, *consultas, res;

  scanf("%d*[^\n]", &N);

  arr = (int *)malloc(sizeof(int) * N);

  while (i < N && fscanf(stdin, "%d", &arr[i++]) == 1)
    ;

  scanf("%d*[^\n]", &c);

  consultas = (int *)malloc(sizeof(int) * c * 2);

  // leer cada consulta
  for (i = 0; i < c; i++)
  {
    j = 0;
    while (j < 2 && fscanf(stdin, "%d", consultas + i * 2 + j++) == 1)
      ;
  }

  // for (i = 0; i < c; i++)
  // {
  //   printf("%d %d\n", *(consultas + i * 2), *(consultas + i * 2 + 1));
  // }

  // Ejecutar cada consulta
  for (i = 0; i < c; i++)
  {
    res = 0;
    for (int k = *(consultas + i * 2); k <= *(consultas + i * 2 + 1); k++)
    {
      // printf("%d + %d = %d\n", res, arr[i], res + arr[i]);
      res += arr[k];
    }

    // printf("%d\n", sumarDesdeHasta(arr, *(consultas + i * 2), *(consultas + i * 2 + 1)));
    printf("%d\n", res);
  }

  return 0;
}