Pagini recente » Cod sursa (job #2370320) | Cod sursa (job #2500523) | Cod sursa (job #2666270) | Cod sursa (job #2375221) | Cod sursa (job #565950)
Cod sursa(job #565950)
#include <cstdio>
#define M 5000000
using namespace std;
long long n, k, s, p, sf, suma;
struct coada
{
long long i, x;
} a[M];
void citire()
{
scanf ("%lld %lld ",&n,&k);
for (int i=0; i<n; i++)
{
scanf ("%lld ",&s);
while (sf!=p && s<a[sf-1].x)
sf--;
a[sf].x=s;
a[sf++].i=i;
if (a[p].i<=i-k)
p++;
if (i+1>=k)
suma+=a[p].x;
}
}
int main()
{
freopen ("deque.in","r",stdin);
freopen ("deque.out","w",stdout);
citire();
printf ("%lld\n",suma);
return 0;
}