Pagini recente » Cod sursa (job #3140255) | Cod sursa (job #2978249) | Cod sursa (job #2075037) | Cod sursa (job #1306949) | Cod sursa (job #1202892)
#include <fstream>
#include <deque>
using namespace std;
ifstream is("deque.in");
ofstream os("deque.out");
int n, m, answ;
int x[5000000];
deque<int> q;
int main()
{
is >> n >> m;
for ( int i = 1; i <= n; ++i )
{
is >> x[i];
while ( !q.empty() && x[i] <= x[q.back()] )
q.pop_back();
q.push_back(i);
if ( i < m )
continue;
if ( i - q.front() + 1 > m )
q.pop_front();
answ += x[q.front()];
}
os << answ;
is.close();
os.close();
return 0;
}