Cod sursa(job #754728)

Utilizator visanrVisan Radu visanr Data 3 iunie 2012 00:21:25
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <cstdio>
#include <cstdlib>
using namespace std;


int main()
{
    freopen("ssm.in", "r", stdin);
    freopen("ssm.out", "w", stdout);
    int x, best = (-1) * (1 << 31), i, n, crtSum = 0, st, dr, 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;
                    st = aux;
                    dr = i;
          }
    }
    printf("%i %i %i\n", best, st, dr);
    scanf("%i", &i);
    return 0;
}