Cod sursa(job #649405)

Utilizator ChiroscaIrimiaEchipa Chirosca Irimia ChiroscaIrimia Data 15 decembrie 2011 23:12:34
Problema Subsecventa de suma maxima Scor 20
Compilator c Status done
Runda Arhiva educationala Marime 0.67 kb
#include<stdio.h>
int main()
{
    FILE *f,*g;
    f=fopen("ssm.in","r");
    g=fopen("ssm.out","w");
    int v[100],n,pos,maxposstart,maxposend,sum,maxsum,i;
    fscanf(f,"%d",&n);
    for(i=0;i<n;i++)
       fscanf(f,"%d",&v[i]);
    sum=v[0];
    maxsum=v[0];
    pos=0;
    for(i=1;i<n;i++)
       {
        if(sum>=0)
          sum+=v[i];
        else
          {
           sum=v[i];
           pos=i;
          }
        if(sum>maxsum)
          {
           maxsum=sum;
           maxposstart=pos;
           maxposend=i;
          }
       }
    fprintf(g,"%d %d %d",maxsum,maxposstart+1,maxposend+1);
    fclose(f);
    fclose(g);
    return 0;
}