Pagini recente » Cod sursa (job #2746938) | Istoria paginii runda/9neplace | Autentificare | Istoria paginii runda/dedicatie_speciala3/clasament | Cod sursa (job #268499)
Cod sursa(job #268499)
#include<stdio.h>
#define N 5000010
long long d[N],val,sol;
int n,k,x[N],p,u,i;
void readd(),solve();
int main()
{
readd();
solve();
return 0;
}
void readd()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d",&n,&k);
}
void solve()
{
p=1;
for(i=1;i<k;i++)
{
scanf("%lld",&val);
while(p<=u && val<=d[u])u--;
u++;d[u]=val;x[u]=i;
}
for(i=k;i<=n;i++)
{
scanf("%lld",&val);
if(i-x[p]==k)p++;
while(p<=u && val<=d[u])u--;
u++;d[u]=val;x[u]=i;
sol+=d[p];
}
printf("%lld\n",sol);
}