Cod sursa(job #288982)

Utilizator cipriancxFMI - gr143 Timofte Ciprian cipriancx Data 26 martie 2009 11:48:51
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<stdio.h>
long long int sum,n,k,v[5000001],capat=1,coada,p,deque[5000001][2];

void insert(int val,int poz)
{
while(capat<=coada && val<deque[coada][0])coada--;
coada++; deque[coada][0]=val; deque[coada][1]=poz;
}
int query()
{
while(capat<=coada && deque[capat][1]<p)capat++;
return deque[capat][0];
}


int main(void)
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
int i;
capat=1;
scanf("%lld %lld",&n,&k);
for(i=1; i<=n; i++)scanf("%lld\n",&v[i]);
for(i=1; i<k; i++)insert(v[i],i);

for(i=k,p=1; i<=n; i++,p++)
{insert(v[i],i);
sum+=query();
}
printf("%lld",sum);

return 0;
}