Pagini recente » Cod sursa (job #1602858) | Cod sursa (job #2170405) | Cod sursa (job #2232180) | Cod sursa (job #2920364) | Cod sursa (job #2936925)
#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;
}