Pagini recente » Cod sursa (job #1999591) | Cod sursa (job #3273344) | Cod sursa (job #390970) | Cod sursa (job #2431229) | Cod sursa (job #3038831)
#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();
}