Pagini recente » Cod sursa (job #2146318) | Cod sursa (job #3145168) | Cod sursa (job #2150384) | Cod sursa (job #2698192) | Cod sursa (job #2973367)
#include <iostream>
#include <fstream>
#include <vector>
#include <stack>
#include <deque>
using namespace std;
ifstream f ("deque.in");
ofstream g ("deque.out");
deque < int >d;
int n , x , i , k , v[5000005] , s;
int main()
{
f >> n >> k;
for (int i = 1 ; i <= n ; i++)
f >> v[i];
for (int i = 1 ; i <= n ; i++)
{
while (!d.empty () && v[d.back()] >= v[i])
d.pop_back();
d.push_back (i);
if (i >= k)
{
while (!d.empty () && i - d.front () + 1 > k)
d.pop_front ();
s += v[d.front ()];
}
}
g << s;
return 0;
}