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

Envío 2538

Problema 0x94 - Subarreglo de máxima suma

  • Autor: Gerardo Gonzalez
  • Fecha: 2020-12-30 13:06:58 UTC (Hace alrededor de 3 años)
Caso # Resultado Tiempo Memoria
#1
Correcto
0.005 s 2 KBi
#2
Correcto
0.009 s 2 KBi
#3
Correcto
0.007 s 2 KBi
#4
Correcto
0.005 s 6 KBi
#5
Correcto
0.006 s 2 KBi
#6
Correcto
0.005 s 2 KBi
#7
Correcto
0.006 s 2 KBi
#8
Correcto
0.005 s 45 KBi
#9
Correcto
0.007 s 11 KBi
#10
Correcto
0.008 s 1 KBi
#11
Correcto
0.006 s 1 KBi
#12
Correcto
0.006 s 18 KBi
#13
Correcto
0.006 s 13 KBi
#14
Correcto
0.006 s 1 KBi
#15
Correcto
0.007 s 17 KBi
#16
Correcto
0.007 s 20 KBi
#17
Incorrecto
0.046 s 2 KBi
#18
Correcto
0.054 s 2 KBi
#19
Correcto
0.045 s 2 KBi
#20
Incorrecto
0.054 s 1 KBi
#21
Incorrecto
0.044 s 2 KBi
#22
Incorrecto
0.042 s 1 KBi
#23
Correcto
0.026 s 2 KBi
#24
Correcto
0.024 s 2 KBi
Puntos totales: 84 / 100

Código

#include<iostream>
#include<vector>

using namespace std;

int main(){
    int n;
    cin>>n;
    if(n==0) { 
        cout<<0<<endl; 
        return 0;
    }
    vector<int> vals(n);
    for(auto &val: vals){
        cin>>val;
    }
    int maxPossible = vals[0];
    int maxPossibleEnd = vals[0];
    for(int i=1; i<vals.size(); i++){
        maxPossibleEnd = maxPossibleEnd+vals[i];
        if(maxPossibleEnd<vals[i]){
            maxPossibleEnd = vals[i];
        }
        if(maxPossible<maxPossibleEnd){
            maxPossible = maxPossibleEnd;
        }
    }
    cout<<maxPossible<<endl;
    return 0;
}