Pagini recente » Cod sursa (job #899002) | Cod sursa (job #2153407) | Cod sursa (job #660207) | Cod sursa (job #1002761) | Cod sursa (job #1147637)
/*
Keep It Simple!
*/
#ifdef _MSC_VER
#define _CRT_SECURE_NO_WARNINGS
#endif
#include<stdio.h>
#include<list>
#include<stack>
#define MaxN 6000001
using namespace std;
int N, v[MaxN];
int best, startbest, endbest;
int current, startcurrent;
int main()
{
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
scanf("%d", &N);
for (int i = 1; i <= N; i++)
scanf("%d", &v[i]);
current = best = -(1<<30);
for (int i = 1; i <= N; i++)
{
if (current +v[i] < v[i])
{
current = v[i];
startcurrent = i;
}
else current += v[i];
if (current > best)
{
best = current; startbest = startcurrent; endbest = i;
}
}
printf("%d %d %d", best, startbest, endbest);
return 0;
}