Pagini recente » Cod sursa (job #817639) | Cod sursa (job #83334) | Cod sursa (job #1679228) | Cod sursa (job #57802) | Cod sursa (job #1688732)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream f("deque.in" );
ofstream g("deque.out");
int N, K, v[5000002]; long long S;
deque<int> heap;
void Inserare(int x) {
while ( !heap.empty() && v[heap.back()] > v[x] ) heap.pop_back();
heap.push_back( x );
}
int main() {
f >> N >> K;
for ( int i=1 ; i<=N ; i++ )
f >> v[i];
for ( int i=1 ; i<=N ; i++ ) {
Inserare( i );
if ( heap.front() <= i-K ) heap.pop_front();
if ( i >= K ) S += v[heap. front()];
}
g << S;
}