Pagini recente » Istoria paginii runda/simulare_oni2008_clasa10_ziua2 | Cod sursa (job #1185556) | Cod sursa (job #1566148) | Istoria paginii runda/cristicreste1 | Cod sursa (job #2000933)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
long long a[5000002];
int dq[5000002], n, k;
long long s;
int main()
{
int i;
fin>>n>>k;
for(i=1; i<=n; i++)
fin>>a[i];
int dr=0, st=1;
for(i=1; i<=n; i++)
{
while(st<=dr && a[i]<a[dq[dr]])
dr--;
dq[++dr]=i;
if(dq[st]==i-k)
st++;
if(i>=k)
s+=a[dq[st]];
}
fout<<s<<'\n';
return 0;
}