Pagini recente » Rating Oprea Rares (Oprea_Rares) | Cod sursa (job #3367347) | Cod sursa (job #3367893) | Cod sursa (job #3368893) | Cod sursa (job #3368889)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int main()
{
int N, K;
int X[5000002];
fin >> N >> K;
for (int i = 1; i <= N; i++)
fin >> X[i];
deque<int> d;
long long s = 0;
for (int i = 1; i <= N; i++)
{
while (!d.empty() && X[d.back()] >= X[i])
{
d.pop_back();
}
d.push_back(i);
if (d.front() == i - K)
{
d.pop_front();
}
if (i >= K)
{
s += X[d.front()];
}
}
fout << s << endl;
return 0;
}