Cod sursa(job #2238334)

Utilizator bianca_maria06Bianca Ciobanu bianca_maria06 Data 5 septembrie 2018 12:13:32
Problema Subsecventa de suma maxima Scor 95
Compilator c Status done
Runda Arhiva educationala Marime 0.58 kb
#include <stdio.h>
#include <stdlib.h>
int v[6000000];
int main()
{
    int max=0,st,dr,s,i,i1,i2,n;
    FILE*fin=fopen("ssm.in", "r");
    FILE*fout=fopen("ssm.out", "w");
    fscanf(fin,"%d",&n);
    for(i=1;i<=n;i++)
      fscanf(fin,"%d",&v[i]);
    st=dr=1;
    s=0;
    for(i=1;i<=n;i++){
      s+=v[i];
      if(s<0){
        s=0;
        dr=st=i+1;
      }
      else
        dr=i;
      if(s>max){
        max=s;
        i1=st;
        i2=dr;
      }
    }
    fprintf(fout,"%d %d %d",max,i1,i2);
    fclose(fin);
    fclose(fout);
    return 0;
}