Cod sursa(job #1346254)

Utilizator fluture.godlikeGafton Mihnea Alexandru fluture.godlike Data 18 februarie 2015 09:18:50
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <stdio.h>
#define NMAX 50023
#define lim 1250000023
FILE *fin, *fout;
int n, k, v[NMAX], maxim = -lim, p1, p2, v1[NMAX];
int main()
{
	fin = freopen("secv2.in", "r", stdin);
	fout = freopen("secv2.out", "w", stdout);
	scanf("%d %d", &n, &k);
	for(int i = 1; i<= n; i++)
	{
		scanf("%d", &v[i]);
		v1[i] = v[i];
	}
	for(int i = 2; i<= n; i++)
	{
		v[i] += v[i-1];
		v1[n-i+1] += v1[n-i+2];
	}
	for(int i = k; i<= n; i++)
	{
		if(v[i] > maxim)
		{
			maxim = v[i];
			p2 = i;
		}
	}
	maxim = -lim;
	for(int i = p2-k+1; i>=1; i--)
	{
		if(v1[i] - v1[p2+1] > maxim)
		{
			maxim = v1[i] - v1[p2+1];
			p1 = i;
		}
	}
	printf("%d %d %d\n", p1, p2, v[p2] - v[p1-1]);
	fclose(fin);
	fclose(fout);
	return 0;
}