Pagini recente » Cod sursa (job #542418) | Cod sursa (job #2276698) | Cod sursa (job #496943) | Cod sursa (job #2991134) | Cod sursa (job #1625638)
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
const int NMax = 6000005;
int N,X[NMax],DP[NMax];
int Sol=-2000000000,Start,Finish;
void Read()
{
fin>>N;
for(int i = 1; i <= N; ++i)
fin>>X[i];
}
void Solve()
{
int Begin = 1;
for(int i = 1; i <= N; ++i)
{
if(X[i] + DP[i-1] > X[i])
{
DP[i] = X[i] + DP[i-1];
}
else
{
Begin = i;
DP[i] = X[i];
}
if(DP[i] > Sol)
{
Sol = DP[i];
Start = Begin;
Finish = i;
}
}
}
void Print()
{
fout<<Sol<<" "<<Start<<" "<<Finish<<"\n";
}
int main()
{
Read();
Solve();
Print();
return 0;
}