Cod sursa(job #767563)
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
void citire ( long long &);
void ssm (long long,long long );
long long max ( long long ,long long );
//int v[6000020];
int main()
{
long long n;
citire(n);
ssm (1,n);
//fout<<n;
return 0;
}
void ssm ( long long a, long long b)
{
long long i,j,best[17],maxim,imaxs=a,istart=a,imaxsf=a,y;
fin>>y;
best[0]=y;
maxim=y;
for (i=a+1;i<=b;i++)
{
fin>>y;
best[i%2]=max(y,best[!(i%2)]+y);
if (y>best[!(i%2)]+y)
{
istart=i;
}
if(best[i]>maxim)
{
imaxs=istart;
imaxsf=i;
maxim=best[i%2];
}
}
//if (maxim>best[b])
fout<<maxim<<" "<<imaxs<<" "<<imaxsf;
//else
// fout<<best[b]<<" "<<istart<<" "<<b;
}
void citire (long long &n)
{
int i;
fin>>n;
//for(i=1;i<=n;i++)
//{
// fin>>v[i];
//}
}
long long max ( long long a,long long b)
{
if (a>b)
return a;
return b;
}