Pagini recente » Cod sursa (job #1834597) | Cod sursa (job #2600350) | Cod sursa (job #3252884) | Cod sursa (job #1580157) | Cod sursa (job #2044256)
#include <fstream>
#include <queue>
#include <deque>
using namespace std;
ifstream fin( "deque.in" );
ofstream fout( "deque.out" );
int a[5000001], n, k;
int main()
{ deque <int> d;
int i, s = 0;
fin >> n >> k;
for ( i = 1; i <= n; ++i )
fin >> a[i];
for ( i = 1; i <= n; ++i )
{ while ( !d.empty() && a[d.back()] >= a[i] )
d.pop_back();
d.push_back(i);
if ( i - k == d.front() )
d.pop_front();
if ( i >= k )
s += a[d.front()];
}
fout << s;
return 0;
}