Pagini recente » Cod sursa (job #60353) | Cod sursa (job #2241550) | Cod sursa (job #2095557) | Cod sursa (job #816805) | Cod sursa (job #1687362)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
const int MAXN = 5 * 1e6 + 7;
int N , K , A[MAXN];
void citire()
{
fin >> N >> K;
for(int i = 1 ; i <= N ; ++i)
fin >> A[i];
}
void solve()
{
deque < int>D;
long long ans(0);
for(int i = 1 ; i <=N; ++i)
{
while(!D.empty() && A[D.back()] >= A[i])
D.pop_back();
D.emplace_back(i);
if(D.front() == i-K) D.pop_front();
if(i >= K)
ans += A[D.front()];
}
fout << ans << '\n';
}
int main()
{
citire();
solve();
}