Pagini recente » Cod sursa (job #917886) | Cod sursa (job #1163191) | Cod sursa (job #1106665) | Cod sursa (job #2986929) | Cod sursa (job #1148031)
#include<cstdio>
#include<deque>
using namespace std;
deque <int> dq;
int v[5000002];
int main()
{
FILE *in=fopen("deque.in", "r"),
*out=fopen("deque.out", "w");
int n, k, i, t;
long long rez=0;
fscanf(in, "%d%d", &n, &k);
v[0]=0;
for(i=1; i<=n; ++i)
{
fscanf(in, "%d", &t);
v[i]=t;
}
fclose(in);
for(i=1; i<=n; ++i)
{
while(!dq.empty() && v[dq.back()]>=v[i])
dq.pop_back();
dq.push_back(i);
if(dq.front()+k==i)
dq.pop_front();
if(i>=k)
rez+=v[dq.front()];
}
fprintf(out, "%I64d", rez);
fclose(out);
}