Pagini recente » Cod sursa (job #1928920) | Cod sursa (job #2848671) | Cod sursa (job #2887524) | Cod sursa (job #1067919) | Cod sursa (job #2726438)
#include <fstream>
int main()
{
std::ifstream f("deque.in");
int N, K;
long long 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;
}