Pagini recente » Cod sursa (job #1813993) | Cod sursa (job #3032930) | Cod sursa (job #3252615) | Cod sursa (job #2261577) | Cod sursa (job #2886613)
#include <fstream>
std::ifstream fin("deque.in");
std::ofstream fout("deque.out");
int main()
{
int n, k;
long long s = 0;
fin >> n >> k;
int A[n], D[n];
for (int i = 0; i < n; i++)
fin >> A[i];
int 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;
return 0;
}