Cod sursa(job #2808347)

Utilizator LuciBBadea Lucian LuciB Data 24 noiembrie 2021 22:10:37
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <stdio.h>
#include <stdlib.h>
 
int main(){
  int n, i, elem, max, s, st, dr, stfinal, drfinal;
  FILE *fin, *fout;
  fin=fopen("ssm.in", "r");
  fscanf(fin, "%d", &n);
  max=-2147483647;
  st=1;
  dr=0;
  stfinal=drfinal=s=0;
  for(i=1; i<=n; i++){
    fscanf(fin, "%d", &elem);
    if(s<0){
      s=elem;
      st=dr=i;
    }else{
      dr++;
      s=s+elem;
    }
    if(s>max){
      max=s;
      stfinal=st;
      drfinal=dr;
    }
  }
  //printf("estiprost");
  fout=fopen("ssm.out", "w");
  //printf("estiprost");
  fprintf(fout, "%d %d %d", max, stfinal, drfinal);
  fclose(fout);
  //printf("estiprost");
  return 0;
}