Pagini recente » Cod sursa (job #1381997) | Cod sursa (job #2316445) | Cod sursa (job #185582) | Cod sursa (job #1455725) | Cod sursa (job #1181919)
#include <cstdio>
#define MAX 5000001
using namespace std;
FILE*fin=fopen("deque.in","r");
FILE*fout=fopen("deque.out","w");
int n,k,v[MAX],q[MAX], p, u;
long long rez;
int main()
{
int i;
fscanf(fin,"%d%d",&n,&k);
for(i=1;i<=n;++i)
fscanf(fin,"%d",v+i);
p = 1;
for(i=1; i<=n; i++){
while(p<=u and v[q[u]]>=v[i]) u--;
q[++u] = i;
if(q[p]==i-k) p++;
if(i>=k)
rez = rez+v[q[p]];
}
fprintf(fout, "%lld\n", rez);
fclose(fin);
fclose(fout);
return 0;
}