Cod sursa(job #1283980)

Utilizator demetriad-dagpagDavid Demetriad demetriad-dagpag Data 6 decembrie 2014 09:58:56
Problema Subsecventa de suma maxima Scor 95
Compilator c Status done
Runda Arhiva educationala Marime 0.68 kb
#include <stdio.h>
#include <stdlib.h>
int v[6000001];
int main()
{
    FILE *fin,*fout;
    int n,i,s,p,max;
    fin=fopen("ssm.in","r");
    fout=fopen("ssm.out","w");
    fscanf(fin,"%d",&n);
    for(i=1; i<=n; i++)
        fscanf(fin,"%d",&v[i]);
    s=v[1];
    p=1;
    max=v[1];
    for(i=2; i<=n; i++)
    {
        if(s+v[i]>v[i])
            s+=v[i];
        else
            s=v[i];
        if(s>max)
        {
            max=s;
            p=i;
        }
    }
    s=v[p];
    i=p;
    while(i>0 && s!=max)
    {
        i--;
        s+=v[i];
    }
    fprintf(fout,"%d %d %d\n",max,i,p);
    fclose(fin);
    fclose(fout);

    return 0;
}