Cod sursa(job #1202011)

Utilizator nacrocRadu C nacroc Data 26 iunie 2014 17:03:24
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<stdio.h>
#include<limits.h>
using namespace std;
int v[7000005];
int main()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    int S=0,best=INT_MIN,n,x,st,fin,ind=1;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    scanf("%d",&v[i]);
    for(int i=1;i<=n;i++)
    {
        if(S<0)
        {
            S=v[i];
            ind=i;
        }
        else
        S+=v[i];
        if(S>best)
        {
            best=S;
            st=ind;
            fin=i;
        }
    }
    printf("%d %d %d\n",best,st,fin);
    return 0;
}