Cod sursa(job #2238344)

Utilizator bianca_maria06Bianca Ciobanu bianca_maria06 Data 5 septembrie 2018 12:23:25
Problema Subsecventa de suma maxima Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.6 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;
}