Pagini recente » Cod sursa (job #107005) | Cod sursa (job #1229573) | Cod sursa (job #1557106) | Cod sursa (job #711754) | Cod sursa (job #1205564)
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<stdio.h>
using namespace std;
int nr, indice_start_intermediar, indice_final_intermediar, indice_start, indice_final;
int sir[6000009], best[6000009];
long long suma_maxima;
int main()
{
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
scanf("%d", &nr);
for(int i = 0; i < nr; ++i)
{
scanf("%d", &sir[i]);
}
best[0] = sir[0];
indice_start = 0;
indice_final = 0;
suma_maxima = sir[0];
for(int i = 1; i < nr; ++i)
{
if(sir[i] < best[i-1] + sir[i])
{
best[i] = best[i-1] + sir[i];
indice_final_intermediar = i;
}
else
{
best[i] = sir[i];
// resetam
indice_start_intermediar = i;
indice_final_intermediar = i;
}
if(best[i] > suma_maxima)
{
suma_maxima = best[i];
indice_final = i;
indice_start = indice_start_intermediar;
}
}
printf("%lld %d %d\n", suma_maxima, indice_start+1, indice_final+1);
return 0;
}