Pagini recente » Cod sursa (job #385941) | Cod sursa (job #2664640) | Istoria paginii utilizator/cristinaboabes | Cod sursa (job #941337) | Cod sursa (job #2007633)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
const int NLIM = 5e6 + 10;
ifstream fin("deque.in");
ofstream fout("deque.out");
int K, N;
deque< int > dq;
deque< int > idx;
int main()
{
long long res = 0;
fin >> N >> K;
for( int i = 0; i < N; ++i )
{
int x;
fin >> x;
while( dq.size() && x < dq.back() )
{
dq.pop_back();
idx.pop_back();
}
dq.push_back( x );
idx.push_back( i );
while( idx.front() <= i - K )
{
dq.pop_front();
idx.pop_front();
}
if( i >= K - 1 )
{
res += dq.front();
//cout << dq.front() << " ";
}
}
// cout << "\n";
fout << res;
return 0;
}