Pagini recente » Cod sursa (job #2714647) | Cod sursa (job #2080408) | Cod sursa (job #1163677) | Cod sursa (job #639839) | Cod sursa (job #601824)
Cod sursa(job #601824)
#include <fstream>
#include <deque>
#define DIM 5000001
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
deque<long long> Q;
long long a[DIM];
long long sol, n, k;
long long cap, coada;
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;
}