Cod sursa(job #1946789)

Utilizator GhitaVicyorVictor Ghita GhitaVicyor Data 30 martie 2017 14:49:42
Problema Subsecventa de suma maxima Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <stdio.h>
using namespace std;
int v[101];
int main()
{
    FILE *fin,*fout;
    fin=fopen("ssm.in","r");
    fout=fopen("ssm.out","w");
    int s,smax,cs,cd,n,i,csf,cdf,a;
    fscanf(fin,"%d",&n);
    s=smax=0;
    cs=cd=1;
    csf=cdf=1;
    for (i=1;i<=n;i++)
    {
        fscanf(fin,"%d",&a);
        s+=a;
        if (s<0){
            v[i]=0;
            cs=i+1;
            s=0;
        }
        else
            v[i]=s;
        if (s>=smax)
        {
            smax=s;
            cd=i;
            cdf=cd;
            csf=cs;
        }
        if (s==smax)
            if (cdf-csf>cd-cs)
            {
                cdf=cd;
                csf=cs;
            }
    }
    fprintf(fout,"%d %d %d",smax,csf,cdf);
    return 0;
}