Pagini recente » Cod sursa (job #796889) | Cod sursa (job #1844243) | Cod sursa (job #2777153) | Cod sursa (job #3201560) | Cod sursa (job #2936947)
#include <bits/stdc++.h>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int N, K, i, x, A[5000005], S;
deque<int> Deq;
int main()
{
f >> N >> K;
for(i = 1; i <= N; i ++)f >> A[i];
Deq.push_back(1);
for(i = 2; i <= K; i ++)
{
while(!Deq.empty() && A[Deq.back()] >= A[i])Deq.pop_back();
Deq.push_back(i);
}
S = A[Deq.front()];
for(i = K + 1; i <= N; i ++)
{
while(!Deq.empty() && A[Deq.back()] >= A[i])Deq.pop_back();
Deq.push_back(i);
if(Deq.back() - Deq.front() + 1 > K)Deq.pop_front();
S += A[Deq.front()];
}
g << S;
return 0;
}