Cod sursa(job #2290308)

Utilizator lianalunganalia mihaila lianalungana Data 26 noiembrie 2018 11:46:01
Problema Subsecventa de suma maxima Scor 95
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <stdio.h>

#include <stdlib.h>

int v[6000002];

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=v[1];
    max=v[1];
    i1=i2=1;
    for(i=2;i<=n;i++){
      if(s<0){
        s=0;
        dr=st=i;
      }
      else
        dr=i;
      s+=v[i];
      if(s>max){
        max=s;
        i1=st;
        i2=dr;
      }
    }
    fprintf(fout,"%d %d %d",max,i1,i2);
    fclose(fin);
    fclose(fout);
    return 0;



}