Cod sursa(job #2098910)

Utilizator WebDesignbyTMGhiorghiu Ioan-Viorel WebDesignbyTM Data 3 ianuarie 2018 17:50:02
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#define DM 50001
#include <climits>
#include <fstream>
using namespace std;

ifstream fi ("secv2.in");
ofstream fo ("secv2.out");
int n, k, a, s[DM], mn[DM], pos[DM], mx = INT_MIN, lo, hi;

int main()
{
	fi >> n >> k;
	for (int i = 1; i <= n; ++i)
	{
		fi >> a;
		s[i] = s[i-1] + a;
		if (i > k)
		{
			if (s[i-k] < mn[i-1])
				mn[i] = s[i-k], pos[i] = i - k;
			else
				mn[i] = mn[i-1], pos[i] = pos[i-1];
		}
	}
	for (int i = k; i <= n; ++i)
		if (mx < s[i] - mn[i])
		{
			mx = s[i] - mn[i];
			lo = pos[i];
			hi = i;
		}
	fo << lo + 1 << ' ' << hi << ' ' << mx;
	return 0;
}