Pagini recente » Cod sursa (job #2809027) | Cod sursa (job #141460) | Cod sursa (job #2835694) | Cod sursa (job #2403808) | Cod sursa (job #2726422)
#include <fstream>
int main()
{
std::ifstream f("deque.in");
int N, K, Suma = 0;
f >> N >> K;
int deq[N], Poz[N];
int Back = -1, Front = 0;
for(int i = 0; i < N; ++i)
{
f >> deq[i];
while(Front <= Back && deq[i] <= deq[Back])
--Back;
deq[++Back] = deq[i];
Poz[Back] = i;
if(Poz[Front] == i - K)
++Front;
if(i + 1 >= K)
Suma += deq[Front];
}
std::ofstream g("deque.out");
g << Suma;
return 0;
}