Cod sursa(job #1041046)

Utilizator DenisacheDenis Ehorovici Denisache Data 25 noiembrie 2013 14:19:08
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <stdio.h>
using namespace std;
FILE *f=fopen("ssm.in","r");
FILE *g=fopen("ssm.out","w");
int s,smax,i,posmaxi,posmaxf,posi,n,v[6000001],ok;
int main()
{
    fscanf(f,"%d",&n);
    fscanf(f,"%d",&v[1]);
    smax=v[1]; s=v[1];
    posmaxi=1; posmaxf=1;
    for (i=2;i<=n;i++)
    {
        fscanf(f,"%d",&v[i]);
        s+=v[i];
        if (s>smax)
        {
            smax=s;
            posmaxi=posi;
            posmaxf=i;
        }
        if (s<0)
        {
            s=0;
            posi=i+1;
        }
    }
    fprintf(g,"%d %d %d",smax,posmaxi,posmaxf);
}