Pagini recente » Cod sursa (job #588464) | Cod sursa (job #237047) | Cod sursa (job #974914) | Cod sursa (job #3213052) | Cod sursa (job #3142284)
#include <iostream>
using namespace std;
const int INF=1e9;
const int NMAX=6000001;
int a[NMAX];
int dp[NMAX];
int start[NMAX];
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
int n;
cin>>n;
int ans=-INF;
int startAns,endAns;
for(int i=1;i<=n;i++)
{
if(dp[i-1]+a[i]>=a[i])
{
start[i]=start[i-1];
dp[i]=dp[i-1]+a[i];
}
else
{
start[i]=i;
dp[i]=a[i];
}
if(ans<dp[i])
{
ans=dp[i];
startAns=start[i];
endAns=i;
}
}
cout<<ans<<' '<<' '<<endAns<<'\n';
}