Pagini recente » Cod sursa (job #1302188) | Cod sursa (job #830405) | Cod sursa (job #3153829) | Cod sursa (job #859177) | Cod sursa (job #2168527)
#include <fstream>
#include <deque>
#define nmax 5 000 001
using namespace std;
ifstream fin ("deque.in");
ofstream fout ("deque.out");
deque < pair <int, int> > dq;
int el, n, k, i, s, j, minn;
int main ()
{
fin >> n >> k;
fin >> el;
dq.push_back (make_pair (el, 1));
for (i = 2; i <= k; i++)
{
fin >> el;
while (!dq.empty () && dq.back().first >= el)
dq.pop_back ();
dq.push_back (make_pair (el, i));
}
s = dq.front().first;
for (i = i; i <= n; i++)
{
fin >> el;
while (!dq.empty () && dq.back().first >= el)
dq.pop_back ();
dq.push_back (make_pair (el, i));
while (i - dq.front().second == k && !dq.empty ())
{
dq.pop_front ();
}
s += dq.front().first;
}
fout << s;
return 0;
}