Pagini recente » Cod sursa (job #2295213) | Cod sursa (job #679158) | Cod sursa (job #2531537) | Cod sursa (job #1947941) | Cod sursa (job #933280)
Cod sursa(job #933280)
#include <fstream>
using namespace std;
const int N=5000100;
int deque[N],x[N];
int main()
{
ifstream f("deque.in");
int n,k;
f>>n>>k;
for(int i=1;i<=n;++i)
f>>x[i];
long long sum=0;
int front=1,back=0;
for(int i=1;i<=n;++i)
{
while(back>=front&&x[i]<=x[deque[back]]) --back;
deque[++back]=i;
if(deque[front]==i-k) ++front;
if(i>=k) sum+=x[deque[front]];
}
f.close();
ofstream h("deque.out");
h<<sum<<'\n';
h.close();
return 0;
}