Pagini recente » Cod sursa (job #1868412) | Cod sursa (job #2334928) | Cod sursa (job #577224) | Cod sursa (job #1111691) | Cod sursa (job #2028256)
#include <iostream>
#include <fstream>
#include <vector>
#include <cstring>
#include <deque>
#define ll long long
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
long long n,i,j,v[5000005],S,k;
deque<int> dq;
int main()
{
f>>n>>k;
for(i=1;i<=n;i++) f>>v[i];
for(i=1;i<=k;i++)
{
while(!dq.empty() && v[dq.back()]>=v[i]) dq.pop_back();
dq.push_back(i);
}
S+=v[dq.front()];
for(i=k+1;i<=n;i++)
{
while(!dq.empty() && v[dq.back()]>=v[i]) dq.pop_back();
dq.push_back(i);
if(dq.front()<=(i-k)) dq.pop_front();
S+=v[dq.front()];
}
g<<S<<'\n';
return 0;
}