Pagini recente » Cod sursa (job #3148723) | Cod sursa (job #2679241) | Cod sursa (job #2811563) | Formatare Textile | Cod sursa (job #2232816)
#include <cstdio>
FILE *fin = freopen("ssm.in","r",stdin); FILE *fout = freopen("ssm.out","w",stdout);
const int NMAX = 6000000 + 5;
/* ----------- DATA ------------- */
int n, pref[NMAX], v[NMAX];
/* ----------- DATA ------------- */
int main()
{
scanf("%d",&n);
for(int i =1; i<= n; i++)
{
scanf("%d",&v[i]);
pref[i] = pref[i-1] + v[i];
}
int mini = 0, maxi = - 2000000000, left, right, id_mini = 0;
for(int i = 1; i<= n; i++)
{
if(pref[i] < mini)
{
mini = pref[i];
id_mini = i;
}
if(pref[i] - mini > maxi)
{
maxi = pref[i] - mini;
right = i;
left = id_mini + 1;
}
}
printf("%d %d %d", maxi, left, right);
}