Pagini recente » Cod sursa (job #1212981) | Profil Saitama | Cod sursa (job #2333737) | Cod sursa (job #2261191) | Cod sursa (job #926438)
Cod sursa(job #926438)
#include <cstdio>
#include <deque>
using namespace std;
struct element
{
int val;
int poz;
};
deque<element> a;
long long s;
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
int n,k;
element crt;
scanf("%d%d",&n,&k);
for(int i=1;i<=n;i++)
{
crt.poz=i;
scanf("%d",&crt.val);
while(!a.empty()&&a.back().val>=crt.val)
a.pop_back();
a.push_back(crt);
if(a.front().poz<=i-k)
a.pop_front();
if(i>=k)
s+=a.front().val;
}
printf("%lld\n",s);
return 0;
}