Pagini recente » Cod sursa (job #1958627) | Cod sursa (job #1928303) | Cod sursa (job #1713755) | Cod sursa (job #3203452) | Cod sursa (job #2973369)
#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];
long long 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;
}