Cod sursa(job #53001)

Utilizator peanutzAndrei Homorodean peanutz Data 20 aprilie 2007 16:43:01
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <stdio.h>

#define NMAX 50010


int s[NMAX], max[NMAX], nr[NMAX], n, k;
int maxim = -32000, maxi;


void solve()
{
int i;

scanf("%d %d\n", &n, &k);

for(i = 0; i < n; ++i)
	{
		scanf("%d ", &s[i]), max[i] = s[i], nr[i] = 1;


		if(  s[i] + max[i-1]  > max[i]  )
			{
				max[i] = max[i-1]+s[i];
				nr[i] += nr[i-1];
			}

		if(  (maxim < max[i])  &&  (k <= nr[i])  )
			{
				maxim = max[i];
				maxi = i;
			}
	}
}


void write()
{
printf("%d %d %d\n", maxi - nr[maxi] + 2, maxi + 1, maxim);
}


int main()
{
freopen("secv2.in", "r", stdin);
freopen("secv2.out", "w", stdout);


solve();


write();


fclose(stdin);
fclose(stdout);

return 0;
}