Cod sursa(job #2165398)

Utilizator vladb21Borcan Vlad vladb21 Data 13 martie 2018 12:04:57
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <stdio.h>

int a[6000005],n,i,j,s,smin,kmin,smax,st,dr;

int main()
{
    FILE *f,*g;
    f=fopen("ssm.in","r");
    g=fopen("ssm.out","w");
    fscanf(f,"%d",&n);
    for(i=1;i<=n;i++)
        fscanf(f,"%d",&a[i]);
    s=a[1];
    if(a[1]<0)
    {
        smin=a[1];
        kmin=1;
    }
    else
    {
        smin=0;
        kmin=0;
    }
    smax=s;st=1;dr=1;
    for(i=2;i<=n;i++)
    {
        s=s+a[i];
        if(s-smin>smax)
        {
            smax=s-smin;
            st=kmin+1;
            dr=i;
        }
        if(s<smin)
        {
            smin=s;
            kmin=i;
        }
    }
    fprintf(g,"%d %d %d\n",smax,st,dr);
}