Cod sursa(job #1866232)

Utilizator herbertoHerbert Mohanu herberto Data 2 februarie 2017 19:30:47
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<stdio.h>
using namespace std;
#define INF 20000000000000000

int main(){
  FILE*fin=fopen("ssm.in", "r");
  FILE*fout=fopen("ssm.out", "w");
  int n, i, begin, end;
  long long s, a, max, smax;
  fscanf(fin, "%d", &n);
  s=0;
  smax=-INF;
  begin=1;
  for(i=1; i<=n; i++){
    fscanf(fin, "%lld", &a);
    if(s<0){
      s=0;
      begin=i;
    }
    s+=a;
    if(s>smax){
      smax=s;
      end=i;
    }
  }
  fprintf(fout, "%lld %d %d", smax, begin, end);
  return 0;
}