Pagini recente » Cod sursa (job #1035546) | Diferente pentru blog/viata-dupa-olimpiade-1 intre reviziile 20 si 19 | Statistici Mirlogeanu Georgiana (GeorgianaM) | Cod sursa (job #1681047) | Cod sursa (job #1058489)
#include <cstdio>
#include <deque>
using namespace std;
deque <int> h;
int a[5000001];
int main()
{
int n, k, i;
signed long long int s=0;
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d%d",&n,&k);
for (i=1; i<=n; i++) scanf("%d",&a[i]);
for (i=1; i<=n; i++)
{
while(!h.empty() && a[h.back()]>a[i])
{
h.pop_back();
}
h.push_back(i);
while(h.front()<=i-k)
{
h.pop_front();
}
if(i>=k) s+=a[h.front()];
}
printf("%lld",s);
fclose(stdin);
fclose(stdout);
return 0;
}