Pagini recente » Cod sursa (job #2745713) | Cod sursa (job #650558) | Cod sursa (job #3165083) | Cod sursa (job #79555) | Cod sursa (job #1202894)
#include <fstream>
#include <deque>
using namespace std;
ifstream is("deque.in");
ofstream os("deque.out");
int n, m;
long long answ, x[5000001];
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;
}