Cod sursa(job #2316565)
Utilizator | Ciotei Cristian cristiciotei | Data | 11 ianuarie 2019 22:02:41 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 55 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
long long s[6000000];
int n;
int st=1,dr=1,val=0,max1=-100000;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
cin>>n;
for (int i=1 ; i<=n ; i++)
cin>>s[i];
for (int i=1 ; i<=n ; i++)
{
if (val==0)
st=i;
val=val+s[i];
if (val>max1)
{
max1=val;
dr=i;
}
if (val<0)
{
val=0;
st=i;
}
}
if (st>dr)
st=dr;
cout<<max1<<" "<<st<<" "<<dr;
return 0;
}