Cod sursa(job #781364)

Utilizator visanrVisan Radu visanr Data 24 august 2012 12:00:50
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;


int main()
{
    freopen("ssm.in", "r", stdin);
    freopen("ssm.out", "w", stdout);
    int i, X, best = (-1) * (1 << 31), crtSum = 0, N, left, right, aux;
    scanf("%i", &N);
    for(i = 1; i <= N; i++)
    {
          scanf("%i", &X);
          if(crtSum + X < X)
          {
                    crtSum = X;
                    aux = i;
          }else crtSum += X;
          if(crtSum > best)
          {
                    best = crtSum;
                    left = aux;
                    right = i;
          }
    }
    printf("%i %i %i\n", best, left, right);
    return 0;
}