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

Envío 6831

Problema 0xf2 - Partir un arreglo grande en 2

  • Autor: bsoto028
  • Fecha: 2022-12-25 00:59:15 UTC (Hace alrededor de 1 mes)
Caso # Resultado Tiempo Memoria
#1
Correcto
0.005 s 1 KBi
#2
Correcto
0.005 s 1 KBi
#3
Correcto
0.007 s 24 KBi
#4
Correcto
0.005 s 8 KBi
#5
Correcto
0.004 s 30 KBi
#6
Correcto
0.006 s 21 KBi
#7
Correcto
0.005 s 19 KBi
#8
Correcto
0.005 s 1 KBi
#9
Correcto
0.004 s 6 KBi
#10
Correcto
0.005 s 29 KBi
#11
Correcto
0.007 s 6 KBi
#12
Correcto
0.005 s 3 KBi
#13
Correcto
0.006 s 5 KBi
#14
Correcto
0.099 s 9 KBi
#15
Correcto
0.103 s 19 KBi
#16
Correcto
0.126 s 9 KBi
#17
Correcto
0.091 s 16 KBi
#18
Correcto
0.141 s 18 KBi
#19
Correcto
0.098 s 10 KBi
#20
Correcto
0.167 s 9 KBi
Puntos totales: 100 / 100

Código

#include <bits/stdc++.h>

const int max = 1e6;

long long A[max];
long long S[max];

using namespace std;


int main() {
    long long N;
    cin>>N;

    for (int i = 1; i <= N; ++i) {
        cin>>A[i];
    }

    for (int i = 1; i <= N; ++i) {
        S[i] = S[i-1] + A[i];
    }
    int ans = 0;
    bool vand = false;

    for (int i = 1; i <= N; ++i) {
        if( (S[i] - S[0] > 0) && (S[N] - S[i]<0)){
            ans = i;
            vand = true;
            break;
        }
    }

    if(vand)
        cout<<ans;
    else
        cout<<"Impossible";

    return 0;
}