Pagini recente » Cod sursa (job #2775342) | Cod sursa (job #2837058) | Cod sursa (job #1462497) | Cod sursa (job #2313929) | Cod sursa (job #622666)
Cod sursa(job #622666)
#include <stdio.h>
#define nmax 5000005
struct element{long nr, poz;};
long n, k, x, inc, sf, i;
long long rez;
element co[nmax];
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%ld %ld",&n, &k);
scanf("%ld",&co[++sf].nr); co[++inc].poz=1;
if (k==1)
rez=co[1].nr;
for (i=2;i<=n;i++)
{
scanf("%ld",&x);
if (co[inc].poz==i-k)
inc++;
while((co[sf].nr>=x)&&(sf>=inc))
sf--;
co[++sf].nr=x; co[sf].poz=i;
if (i>=k)
rez+=co[inc].nr;
}
printf("%lld",rez);
return 0;
}