Pagini recente » Cod sursa (job #2099657) | Cod sursa (job #771345) | Cod sursa (job #744577) | Cod sursa (job #611766) | Cod sursa (job #1939047)
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout("ssm.out");
int a[6000001],s[6000001],m[6000001];
int main()
{
int j,N,Max=INT_MIN,i,st,dr,x=0,Min=0;
fin>>N;
for(i=1;i<=N;i++)
fin>>a[i];
for(j=1;j<=N;j++)
{
s[j]=s[j-1]+a[j];
if(s[j-1]<Min)
{
Min=s[j-1];
x=j;
}
m[j]=min(m[j-1],s[j]);
if(s[j]-m[j-1]>Max)
{
st=x;
dr=j;
Max=s[j]-m[j-1];
}
}
fout<<Max<<' '<<st<<' '<<dr;
return 0;
}