Cod sursa(job #2152825)

Utilizator cantorandreiCantor Andrei cantorandrei Data 5 martie 2018 20:24:36
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;

const int MAXN = 7000005;
int n,i,S[MAXN];
#define Max(a, b)  ((a) > (b) ? (a) : (b))
int main()
{
ifstream fin("ssm.in");
fin>>n;
for(i=1;i<=n;i++)
    fin>>S[i];
int bestSum = -int(2e9), min = 0, idx, beg, end;
for(i=1;i<=n;i++){
S[i]+=S[i-1];
if(bestSum< S[i]- min)
    bestSum= S[i]-min , beg=idx+1 , end = i;
if(min>S[i])
    min=S[i] ,idx=i;
}ofstream fout("ssm.out");
fout<<bestSum<<" "<<beg<<" "<<end;
fin.close(), fout.close();

 return 0;
}