Pagini recente » Cod sursa (job #1490247) | Cod sursa (job #384479) | Organizatori preONI 2007 | Cod sursa (job #712942) | Cod sursa (job #2735895)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
long long n, a, mn, imn, i, k, s;
queue<int> Q, Qb;
int main()
{
fin >> n >> k; mn = int(1e7)+1;
Q.push(0);
for (i = 1; i < k; i++)
{
fin >> a;
if (a < mn) mn = a, imn = i;
Q.push(a);
}
for (i = k; i <= n; i++)
{
fin >> a;
Q.push(a);
Q.pop();
if (a < mn) mn = a, imn = i;
else if (i - imn >= k)
{
mn = int(1e7)+1;
while (!Q.empty())
{
if (Q.front() < mn) mn = Q.front();
Qb.push(Q.front());
Q.pop();
}
while(!Qb.empty())
{
Q.push(Qb.front());
Qb.pop();
}
}
s+= mn;
}
fout << s;
return 0;
}