Pagini recente » Cod sursa (job #2007833) | Cod sursa (job #787590) | Cod sursa (job #127083) | Cod sursa (job #2440830) | Cod sursa (job #601825)
Cod sursa(job #601825)
#include <fstream>
#include <deque>
#define DIM 5000001
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
deque<int> Q;
long long sol, n, k;
int a[DIM];
int main()
{
fin >> n >> k;
for (int i = 1; i <= n; ++i)
fin >> a[i];
for (int i = 1; i <= n; ++i)
{
while (!Q.empty() && a[i] <= a[Q.back()])
Q.pop_back();
Q.push_back(i); // il punem in coada dupa ce scoatem toate elem mai mari
if (Q.front() == i - k) Q.pop_front();
if (i < k) continue;
sol += a[Q.front()];
}
fout << sol << '\n';
fin.close();
fout.close();
return 0;
}