Pagini recente » Cod sursa (job #378985) | Cod sursa (job #2460152)
#include <iostream>
#include <fstream>
using namespace std;
int n,v[6000001],st[6000001],dp[6000001],i,a,b;
long mx;
int main()
{
ifstream f("ssm.in");
ofstream g("ssm.out");
f>>n;
for(i=1; i<=n; i++)f>>v[i];
st[1]=1;
dp[1]=v[1];
mx=dp[1];
for(i=2; i<=n; i++)
{
if(dp[i-1]>0)
{
st[i]=st[i-1];
dp[i]=dp[i-1]+v[i];
}
else
{
dp[i]=v[i];
st[i]=i;
}
if(mx<dp[i])
{
mx=dp[i];
a=st[i];
b=i;
}
if(mx==dp[i])
{
if(st[i]<a)
{
mx=dp[i];
a=st[i];
b=i;
}
if(v[st[i]]==a and b-a>i-st[i])
{
mx=dp[i];
a=st[i];
b=i;
}
}}
g<<mx<<" "<<a<<" "<<b;
}