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