Cod sursa(job #3038831)

Utilizator LidaraniLida Rani Lidarani Data 27 martie 2023 20:22:44
Problema Deque Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include<iostream>
#include<fstream>
#include<deque>

std::deque<int> d;
int s = 0, n, k, x, min;

void afisareDeq()
{
	for (int i = 0; i < d.size(); i++)
		std::cout << d[i] << ' ';
	std::cout << '\n';
}

void inDeq(int x)
{
	while (d.size() > 0 && d.back() > x)
		d.pop_back();
	while (d.size() < k)
		d.push_back(x);
}

int main()
{
	std::ifstream fin("deque.in");
	fin >> n >> k;

	for (int i = 0; i < k; i++)
	{
		fin >> x;
		d.push_back(x);
		for (int j = 0; j < i; j++)
			if (x < d[j])
				d[j] = x;
	}

	for (int i = k; i < n; i++)
	{
		s += d.front();
		d.pop_front();
		fin >> x;
		inDeq(x);
	}
	s += d.front();
	fin.close();

	std::ofstream fout("deque.out");
	fout << s;
	fout.close();
}