Cod sursa(job #488331)

Utilizator marius21Petcu Marius marius21 Data 28 septembrie 2010 12:46:40
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <cstdio>

FILE * fin = fopen("ssm.in","r");
FILE * fout = fopen("ssm.out","w");

int main()
{
    int n;
    fscanf(fin,"%d",&n);
    int best = 0;
    int pi=0;
    int max=-0x3f3f3f3f,pim,pfm;
    for (int i=0; i<n; i++)
    {
        int x;
        fscanf(fin,"%d",&x);
        if (best+x<x)
        {
            best=x;
            pi=i;
        } else
        best+=x;
        if (best>max)
        {
            max=best;
            pim=pi;
            pfm=i;
        }
    }
    fprintf(fout,"%d %d %d\n",max,pim+1,pfm+1);
    fclose(fin);
    fclose(fout);
    return 0;
}