Cod sursa(job #2290337)

Utilizator bianca_maria06Bianca Ciobanu bianca_maria06 Data 26 noiembrie 2018 11:59:53
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-32 Status done
Runda Arhiva educationala Marime 0.57 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;

}