Cod sursa(job #1461011)

Utilizator SilverShiftDeniz Ozguluk SilverShift Data 14 iulie 2015 15:57:48
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<cstdio>
using namespace std;
int x[6000006];
int main()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    int n,i,sc,ic,smax,im,sfm;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d",&x[i]);
    }
    sc=smax=x[1];
    ic=im=sfm=1;
    for(i=2;i<=n;i++)
    {
        if(sc+x[i]<x[i])
        {
            sc=x[i];ic=i;
        }
        else
        sc=sc+x[i];
        if(sc>=smax)
        {
            smax=sc;
            im=ic;
            sfm=i;
        }
    }
    printf("%d ",smax);
    printf("%d %d ",im,sfm);
    return 0;
}