Cod sursa(job #2507560)

Utilizator daniel.vbVasile Daniel daniel.vb Data 10 decembrie 2019 14:29:01
Problema Subsecventa de suma maxima Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <stdio.h>



int main()
{
    int n,x,i,jcrt,kcrt,scrt,jm,km,sm;
    FILE *f,*g;
    f=fopen("ssm.in","r");
    g=fopen("ssm.out","w");
    fscanf(f,"%d",&n);

    fscanf(f,"%d",&x);
    scrt=x;jcrt=1;kcrt=1;
    sm=x;jm=1;km=1;

    for(i=2;i<=n;i++)
    {
        fscanf(f,"%d",&x);
        if(scrt+x>=x)
        {
            scrt+=x;
            kcrt=i;
        }
        else
        {
            scrt=x;
            jcrt=i;kcrt=i;
        }
        if(scrt>sm)
        {
            sm=scrt;km=kcrt;jm=jcrt;
        }
        if(scrt==sm && ((jcrt<jm) || (jcrt==jm && kcrt-jcrt<km-jm)))
        {
            sm=scrt;km=kcrt;jm=jcrt;
        }
    }
    fprintf(g,"%d %d %d",sm,jm,km);
}