Pagini recente » Cod sursa (job #204934) | Cod sursa (job #1733390) | Cod sursa (job #2107348) | Cod sursa (job #893320) | Cod sursa (job #2887449)
#include <iostream>
#include <fstream>
using namespace std;
int deq[5000005];
int poz[5000005];
int main()
{
ifstream fin ("deque.in");
ofstream fout ("deque.out");
int n, k;
fin >> n >> k;
int aux;
long long suma = 0;
int st, dr;
st = 0;
dr = 0;
for(int i = 0; i < n; i++)
{
fin>>aux;
while(st <= dr && aux < deq[dr] )
{
dr--;
}
dr++;
deq[dr] = aux;
poz[dr] = i;
while(poz[st]< poz[dr] - k + 1)
{
st++;
}
if(i > k - 2)
{
suma += deq[st];
}
}
fout<<suma;
fin.close();
fout.close();
return 0;
}