Pagini recente » Cod sursa (job #2062202) | Cod sursa (job #2243705) | Cod sursa (job #2395568) | Cod sursa (job #2980527) | Cod sursa (job #2619794)
#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;
}