Cod sursa(job #190240)

Utilizator Omega91Nicodei Eduard Omega91 Data 21 mai 2008 09:58:27
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>

int main()
{
	int i, lcoada = 1, l1 = 1, l2, smax, smain = 0, scoada = 0;
	int n, k;
	short sir[50001];
	FILE *f1, *f2;
	f1 = fopen("secv2.in", "r");
	f2 = fopen("secv2.out", "w");
	fscanf(f1, "%d %d\n", &n, &k);
	for (i = 1; i <= k; ++i) {
		fscanf(f1, "%hd ", &sir[i]);
		smain += sir[i];
	}
	smax = smain; l1 = 1; l2 = k; 
	for (i = k + 1; i <= n; ++i) {
		fscanf(f1, "%hd ", &sir[i]);
		smain += sir[i];
		scoada += sir[i - k];
		if (scoada < 0) {
			smain -= scoada;
			scoada = 0;
			lcoada = i - k + 1;
		}
		if (smain > smax) {
			smax = smain;
			l1 = lcoada;
			l2 = i;
		}
	}
	fprintf(f2, "%d %d %d\n", l1, l2, smax);
	fclose(f1);
	fclose(f2);
	return 0;
}