Pagini recente » Cod sursa (job #278917) | Cod sursa (job #1993505) | Cod sursa (job #1375408) | Cod sursa (job #265313) | Cod sursa (job #1364218)
#include <cstdio>
#include <deque>
using namespace std;
#define Nmax 5000002
FILE *f = fopen ( "deque.in", "r" );
FILE *g = fopen ( "deque.out", "w" );
deque < int > Q;
int v[Nmax];
int main(){
int N, K;
long long s = 0;
fscanf ( f,"%d%d", &N ,&K );
for ( int i = 1 ; i <= N; ++i ){
fscanf ( f, "%d", &v[i] );
while ( !Q.empty() && v[i] <= v[Q.back()] )
Q.pop_back();
Q.push_back ( i );
if ( Q.front() <= i - K )
Q.pop_front();
if ( i >= K )
s += v[Q.front()];
}
fprintf ( g, "%lld", s );
return 0;
}