Pagini recente » Cod sursa (job #995465) | Cod sursa (job #1137212) | Cod sursa (job #945680) | Cod sursa (job #2405365) | Cod sursa (job #2475659)
#include <fstream>
#include <vector>
#define NMAX 6000005
#define input "ssm.in"
#define output "ssm.out"
using namespace std;
ifstream fin(input);
ofstream fout(output);
vector <int> v;
vector <int> dp;
int N;
int main()
{
int result = 0, istart , iend;
int xres, yres;
fin >> N;
v.resize(N + 5);
dp.resize(N + 5);
for(int i = 1 ; i <= N ; i++)
{
fin >> v[i];
}
result = v[1];
istart = iend = 1;
xres = yres = 1;
for(int i = 2; i <= N ; i++)
{
dp[i] = v[i];
if(dp[i] < dp[i - 1] + v[i])
{
dp[i] = dp[i - 1] + v[i];
iend = i;
}
else
{
istart = iend = i;
}
if(dp[i] > result)
{
result = dp[i];
xres = istart;
yres = iend;
}
}
fout << result << " " << xres << " " << yres;
return 0;
}