Cod sursa(job #1061959)

Utilizator sddddgjdZloteanu Anastasia sddddgjd Data 20 decembrie 2013 15:29:27
Problema Subsecventa de suma maxima Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.58 kb
#include<stdio.h>
int main()
{
    FILE *fin,*fout;
    fin=fopen("ssm.in","r");
    fout=fopen("ssm.out","w");
    int n;
    fscanf(fin,"%d",&n);
    int i,best=-999999999,s=0;
    int pos1=0,pos2=0,first,last;
    for(i=0;i<n;i++)
    {
        int x;
        fscanf(fin,"%d",&x);
        pos2=i;
        s+=x;
        if(s>best)
        {
            best=s;
            first=pos1;
            last=pos2;
        }
        if(s<0)
        {
            pos1=i+1;
            s=0;
        }
    }
    fprintf(fout,"%d %d %d",best,first+1,last+1);
    return 0;
}