Pagini recente » Cod sursa (job #328018) | Cod sursa (job #376609) | Cod sursa (job #2949520) | Cod sursa (job #1150660) | Cod sursa (job #1527939)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int DP[6000005],v[6000005];
int n,Max,j;
void read()
{
fin>>n;
for(int i=1;i<=n;i++)
{
fin>>v[i];
}
}
void f()
{
DP[1]=v[1];
Max=DP[1];
for(int i=2;i<=n;i++)
{DP[i]=max(DP[i-1]+v[i],v[i]);
if(Max<DP[i])
{
j=i;
Max=DP[i];
}
}
}
int main()
{
int k;
read();
f();
k=j;
fout<<Max<<" ";
while(Max!=0)
{
Max=Max-v[k];
k--;
}
if(v[k]==0)
fout<<k<<" "<<j;
else
fout<<k+1<<" "<<j;
}