Pagini recente » Cod sursa (job #2773708) | Cod sursa (job #1393126) | Cod sursa (job #2762653) | Cod sursa (job #2119463) | Cod sursa (job #565959)
Cod sursa(job #565959)
#include <cstdio>
#define M 5000000
using namespace std;
int n, k, s, p, sf;
long long suma;
struct coada
{
int i, x;
} a[M];
void citire()
{
scanf ("%d %d ",&n,&k);
for (int i=0; i<n; i++)
{
scanf ("%d ",&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;
}