Pagini recente » Cod sursa (job #1334628) | Cod sursa (job #2118670) | Cod sursa (job #1372668) | Cod sursa (job #1864197) | Cod sursa (job #2955607)
#include <fstream>
using namespace std;
ifstream cin ("ssm.in");
ofstream cout("ssm.out");
const int N = 6000005;
long long dp[N];
int main()
{
int n,st,dr,ans;
long long x;
long long maxi=-2147483649;
cin>>n;
for(int i=1;i<=n;++i)
{
cin>>x;
dp[i] = max(dp[i-1]+x,x);
if(dp[i]==x)st = i;
if(dp[i]>maxi)
{
ans = st;
maxi = dp[i];
dr = i;
}
else if(dp[i]==maxi)
{
if(i-st < dr-ans)
{ans = st;
dr = i;}
}
}
cout<<maxi<<' '<<ans<<' '<<dr;
return 0;
}