Pagini recente » Cod sursa (job #1780296) | Cod sursa (job #2080923) | Cod sursa (job #2622680) | Cod sursa (job #1692377) | Cod sursa (job #2204683)
#include <fstream>
using namespace std;
int V[5000001], D[5000001], u, i, p, n, k;
long long sol;
int main () {
ifstream fin ("deque.in");
ofstream fout ("deque.out");
fin>>n>>k;
for (i=1;i<=n;i++)
fin>>V[i];
p=1, u=1, D[1]=1;
for (i=2;i<=n;i++) {
while (V[i] < V[ D[u] ] && p<=u)
u--;
u++;
D[u]=i;
if (i-D[p] == k)
p++;
if (i>=k)
sol+= V[ D[p] ];
}
fout<<sol;
return 0;
}