Pagini recente » Cod sursa (job #2510368) | Cod sursa (job #1222011) | Cod sursa (job #649420) | Cod sursa (job #643104) | Cod sursa (job #1439186)
#include <iostream>
#include <fstream>
#define Nmax 5000010
using namespace std;
int n,k;
int V[Nmax], Deque[Nmax];
int Front, Back;
long long sum;
int main()
{
ifstream fin("deque.in");
ofstream fout("deque.out");
int i;
fin>>n>>k;
for(i=1;i<=n;i++)
fin>>V[i];
Front=1;
Back=0;
for(i=1;i<=n;i++)
{
while(Front<=Back && V[i]<=V[Deque[Back]]) Back--;
Back++;
Deque[Back]=i;
if(Deque[Front]==i-k) Front++;
if(i>=k) sum+=V[Deque[Front]];
}
fout<<sum;
return 0;
}