Pagini recente » Cod sursa (job #2768692) | Cod sursa (job #903649) | Cod sursa (job #1076213) | Cod sursa (job #2134675) | Cod sursa (job #531117)
Cod sursa(job #531117)
#include <stdio.h>
#include <deque>
using namespace std;
#define nmax 5000005
int A[nmax];
int N, K;
deque<int> Q;
long long sum;
int main ()
{
int i;
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d%d", &N, &K);
for (i = 1; i <= N; ++i) scanf("%d", &A[i]);
for (i = 1; i <= N; ++i)
{
while ( ! Q.empty() && A[i]<=Q.back() ) Q.pop_back();
Q.push_back(A[i]);
if (Q.front() == A[i-K]) Q.pop_front();
if (i >= K) sum += Q.front();
}
printf("%lld", sum);
return 0;
}