Pagini recente » Cod sursa (job #1665099) | Istoria paginii runda/oni2007 | Cod sursa (job #2729908) | Cod sursa (job #2468164) | Cod sursa (job #2536950)
#include <fstream>
#include <deque>
using namespace std;
ifstream f ("deque.in");
ofstream g ("deque.out");
int n, i, v[5000005], aux, k;
long long suma;
deque < int > coada;
int main()
{
f >> n >> k;
for (i=1; i<=n; i++)
f >> v[i];
for (i=1; i<=n; i++)
{
aux = v[i];
while (!coada.empty() && v[coada.back()] >= aux)
coada.pop_back();
coada.push_back(i);
if (coada.front() == i-k)
coada.pop_front();
if (i >= k && i <= n)
suma += v[coada.front()];
}
g << suma;
return 0;
}