Cod sursa(job #2619794)

Utilizator georgeblanarBlanar George georgeblanar Data 28 mai 2020 13:35:13
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.02 kb
#include <iostream>
#include <deque>
#include <fstream>
#include <algorithm>

std::ifstream f("deque.in");
std::ofstream g("deque.out");

long long findmin(std::deque <long long> g) {
	long long min = *g.begin();
	std::deque <long long> ::iterator it;
	for (it = g.begin(); it != g.end(); ++it)
		if (*it < min) {
			min = *it;
		}
	return min;
}

void afisare(std::deque <long long> g)
{
	std::deque <long long> ::iterator it;
	for (it = g.begin(); it != g.end(); ++it)
		std::cout << *it << ' ';
	std::cout << '\n';
}

int main()
{
	int n, k;
	int i;
	long long num, sum, min;
	std::deque <long long> deq;

	f >> n >> k >> min;
	deq.push_back(min);

	for (i = 1; i < k; i++) {
		f >> num;
		deq.push_back(num);

		if (num < min) min = num;
	}
	sum = min;
	afisare(deq);

	for (int i = k; i < n; i++) {
		f >> num;
		deq.pop_front();
		deq.push_back(num);

		if (num <= min) {
			num = min;
		}
		else {
			min = findmin(deq);
			sum += min;
		}
		afisare(deq);
	}

	g << sum;
}