Cod sursa(job #1955838)
Utilizator | Data | 6 aprilie 2017 11:42:49 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <iostream>
#include<fstream>
using namespace std;
int n,i,a[6000005],best,maxim = -int(2e9) ,st,dr,stg;
int main()
{
ifstream in("ssm.in");
ofstream out("ssm.out");
in>>n;
for(i=1;i<=n;++i)
{
in>>a[i];
if(best<0)
st=i;
best=max(best+a[i], a[i]);
if(best>maxim)
{
maxim=best;
dr=i;
stg=st;
}
}
if(stg==0)
stg=1;
out<<maxim<<' '<<stg<<' '<<dr;
}