Cod sursa(job #3038837)

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

std::deque<int> d;
long long 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 = i - 1; j > 0 && d[i] < d[j]; 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();
}