Pagini recente » Cod sursa (job #1670522) | Cod sursa (job #1142884) | Cod sursa (job #363112) | Cod sursa (job #2669827) | Cod sursa (job #523812)
Cod sursa(job #523812)
using namespace std;
#include<iostream>
#include<fstream>
ofstream fout("ssm.out");
int N,a[6000005],dp[6000006],rem[6000006],crem[6000006];
void solve()
{int i;
for(i=1;i<=N;i++)
{
if(dp[i-1]+a[i]>a[i])
rem[i]=rem[i-1],dp[i]=dp[i-1]+a[i];
else
rem[i]=i,dp[i]=a[i];
}
int ans=-0x3f3f3f3f,st,end;
for(i=1;i<=N;i++)
{ if(ans<dp[i])
ans=dp[i],st=rem[i],end=i;
}
fout<<ans<<" "<<st<<" "<<end<<"\n";
}
void init()
{ int i;
dp[0]=-0x3f3f3f3f;
for(i=1;i<=N;i++)
dp[i]=0;
}
void cit()
{int i;
ifstream fin("ssm.in");
fin>>N;
for(i=1;i<=N;i++)
fin>>a[i];
fin.close();
}
int main()
{
cit();
init();
solve();
fout.close();
return 0;
}