Pagini recente » Cod sursa (job #2507562) | Cod sursa (job #1631809) | Cod sursa (job #2539363) | Cod sursa (job #2492505) | Cod sursa (job #1461110)
#include<fstream>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
#define MAX 6000001
int N,A[MAX],D[MAX];
int main()
{
int N;
in>>N;
for(int i=1;i<=N;i++)
in>>A[i];
int i,j,max,l=1,r=1,S,l_max,r_max;
D[1]=A[1];
max=D[1];
l_max=1;
r_max=1;
for(i=2;i<=N;i++)
{
if(A[i] + A[i-1] > D[i-1] + A[i] && A[i] + A[i-1] > A[i])
{
D[i]=A[i] + A[i-1];
l=i-1;
r=i;
}
else if(D[i-1] + A[i] < A[i])
{
D[i]=A[i];
l=i;
r=i;
}
else
{
D[i]=D[i-1] + A[i];
++r;
}
if(D[i] > max)
{
l_max=l;
r_max=r;
max=D[i];
}
}
out<<max<<" "<<l_max<<" "<<r_max;
return 0;
}