Pagini recente » Cod sursa (job #219969) | Cod sursa (job #158834) | Cod sursa (job #1503690) | Cod sursa (job #597933) | Cod sursa (job #2637729)
#include <fstream>
#include <deque>
using namespace std;
ifstream f ("deque.in");
ofstream g ("deque.out");
constexpr int NMAX = 5e6 + 5;
deque <int> D;
int N, K;
int a[NMAX];
long long sol;
int main()
{
f >> N >> K;
for (int i = 1; i <= N; ++ i ) {
f >> a[ i ];
if (D.front() <= i - K) D.pop_front();
while (!D.empty() && a[D.back()] > a[ i ]) {
D.pop_back();
}
D.push_back( i );
if (i >= K) {
sol = sol + 1LL * a[D.front()];
}
}
g << sol << '\n';
return 0;
}