Cod sursa(job #1878731)

Utilizator 1475369147896537415369Andrei Udriste 1475369147896537415369 Data 14 februarie 2017 13:55:11
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <cstdio>
#include <climits>
using namespace std;

int N, X;
int localMax[3], globalMax[3];

int main(){

freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);

scanf("%d", &N);
localMax[0] = globalMax[0] = INT_MIN;

for(int i = 1; i <= N; i++){
    scanf("%d", &X);
    if(localMax[0] < 0){
        localMax[1] = i;
        localMax[0] = X;
    }else{
        localMax[0] += X;
    }localMax[2] = i;

    if(localMax[0] > globalMax[0]){
        globalMax[0] = localMax[0];
        globalMax[1] = localMax[1];
        globalMax[2] = localMax[2];
    }
}
printf("%d %d %d", globalMax[0], globalMax[1], globalMax[2]);

return 0;
}