Cod sursa(job #1442526)

Utilizator MciprianMMciprianM MciprianM Data 25 mai 2015 19:01:54
Problema Deque Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
#include <deque>

using namespace std;

static const int MAXN = 5000009;
int v[MAXN];

int main()
{
	int n, k;
	ifstream f("deque.in");
	f >> n >> k;
	for(int i = 0; i < n; i++)
	{
		f >> v[i];
	}
	f.close();
	long long sum = 0;
	int lim = n - k + 1;
	int mink = 0x3F3F3F3F;
	bool needsReset = true;
	for(int i = 0; i < lim; i++)
	{
		/*for(int j = 0; j < k; j++)
		{
			mink = min(mink, v[i + j]);
		}*/
		if(needsReset)
		{
			mink = 0x3F3F3F3F;
			for(int j = i; j - i < k; j++)
			{
				mink = min(mink, v[j]);
			}
		}
		else
		{
			mink = min(mink, v[i + k - 1]);
		}
		sum += mink;
		needsReset = (mink == v[i]);
	}
	ofstream g("deque.out");
	g << sum << '\n';
	return 0;
}