Pagini recente » Cod sursa (job #693536) | Cod sursa (job #82645) | Cod sursa (job #1165713) | Cod sursa (job #1876190) | Cod sursa (job #2886532)
#include <fstream>
std::ifstream fin("deque.in");
std::ofstream fout("deque.out");
int main()
{
long long n, k, s = 0;
fin >> n >> k;
long long A[n], D[n];
for (int i = 0; i < n; i++)
fin >> A[i];
long long front = 1, back = 0;
for (int i = 0; i < n; i++)
{
while (back >= front && A[D[back]] >= A[i])
back--;
D[++back] = i;
if (D[front] <= i - k)
front++;
if (i >= k - 1)
s += A[D[front]];
}
fout << s;
}