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

Envío 6324

Problema 0xf2 - Partir un arreglo grande en 2

  • Autor: carrillodev
  • Fecha: 2022-06-06 17:10:52 UTC (Hace casi 2 años)
Caso # Resultado Tiempo Memoria
#1
Correcto
0.001 s 19 KBi
#2
Correcto
0.002 s 13 KBi
#3
Correcto
0.002 s 0 KBi
#4
Correcto
0.002 s 9 KBi
#5
Correcto
0.005 s 8 KBi
#6
Correcto
0.002 s 15 KBi
#7
Correcto
0.002 s 5 KBi
#8
Correcto
0.005 s 1 KBi
#9
Correcto
0.002 s 2 KBi
#10
Correcto
0.006 s 1 KBi
#11
Correcto
0.003 s 1 KBi
#12
Correcto
0.006 s 46 KBi
#13
Correcto
0.003 s 0 KBi
#14
Tiempo límite excedido
1.046 s 3 KBi
#15
Tiempo límite excedido
1.07 s 2 KBi
#16
Tiempo límite excedido
1.099 s 2 KBi
#17
Tiempo límite excedido
1.06 s 2 KBi
#18
Correcto
0.103 s 3 KBi
#19
Tiempo límite excedido
1.042 s 3 KBi
#20
Tiempo límite excedido
1.034 s 3 KBi
Puntos totales: 70 / 100

Código

#include <bits/stdc++.h>
using namespace std;

int main() {
  int n; cin>>n;
  int arr[n];
  int i = 1, leftSum, rightSum;
  bool rightOk = false, leftOk = false;
  for(int i = 0; i < n; i++) {
    cin>>arr[i];
  }
  while(i < n && (!rightOk || !leftOk)) {
    leftSum = 0;
    rightSum = 0;
    for(int j = 0; j < i; j++) {
      leftSum += arr[j];
    }
    for(int j = i; j < n; j++) {
      rightSum += arr[j];
    }
    leftOk = leftSum > 0;
    rightOk = rightSum < 0;
    i++;
  }

  if(rightOk && leftOk) {
    cout<<i-1<<endl;
  } else {
    cout<<"Impossible"<<endl;
  }
  return 0;
}