Cod sursa(job #1496623)

Utilizator herbertoHerbert Mohanu herberto Data 5 octombrie 2015 11:54:45
Problema Subsecventa de suma maxima Scor 80
Compilator c Status done
Runda Arhiva educationala Marime 0.51 kb
#include <stdio.h>
#include <stdlib.h>

int main(){
  FILE*fin=fopen("ssm.in", "r");
  FILE*fout=fopen("ssm.out", "w");
  int n, i, a, s, poz1, poz2, max, start;
  fscanf(fin, "%d", &n);
  max=-2147483647;
  s=0;
  start=0;
  poz1=0;
  poz2=0;
  for(i=1; i<=n; i++){
    fscanf(fin, "%d", &a);
    if(s<0){
      s=a;
      start=i;
    }
    else
      s+=a;

    if(s>max){
      max=s;
      poz1=start;
      poz2=i;
    }
  }
  fprintf(fout, "%d %d %d", max, poz1, poz2);
  return 0;
}