Cod sursa(job #2470640)

Utilizator Diana-ElenaStancu Diana-Elena Diana-Elena Data 9 octombrie 2019 17:18:34
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include <climits>
#include <fstream>
#define NMAX 6000003
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main(){
 long long int n, s[NMAX], best[NMAX], a[NMAX], i;
 fin >> n;
 s[0] = 0;
 for(i = 1; i <= n; ++i)
 {
   fin >> a[i];
   s[i] = s[i - 1] + a[i];
 }
 long long int min = 0, bestSum = INT_MIN, beg, end;
 for(i = 1; i <= n; ++i)
 {
   best[i] = s[i] - min;
   if(min > s[i])   min = s[i], beg = i + 1;
   if(bestSum < best[i]) bestSum = best[i], end = i;
 }
fout << bestSum << ' ' << beg << ' ' << end;
  return 0;
}