Pagini recente » Cod sursa (job #1341093) | Cod sursa (job #1222779) | Cod sursa (job #1785981) | Cod sursa (job #306978) | Cod sursa (job #1575716)
#include <stdio.h>
#define N_MAX 6000002
#define INFINIT 1 << 21
using namespace std;
int n;
int part[N_MAX];
int best[N_MAX];
inline void citire();
int main()
{
citire();
int start = 1;
int finish = 1;
int tempStart;
int bestSum = -INFINIT;
int min = 0;
for (int i = 1; i <= n; ++i){
best[i] = part[i] - min;
if (best[i] > bestSum){
bestSum = best[i];
start = tempStart + 1;
finish = i;
}
if (part[i] < min){
min = part[i];
tempStart = i;
}
}
printf("%d %d %d\n", bestSum, start, finish);
return 0;
}
inline void citire(){
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
scanf("%d", &n);
int x;
part[0] = 0;
for (int i = 1; i <= n; ++i){
scanf("%d", &x);
part[i] = part[i-1] + x;
}
}