Pagini recente » Cod sursa (job #1435300) | Cod sursa (job #40360) | Cod sursa (job #606532) | Cod sursa (job #2414796) | Cod sursa (job #2634277)
#include <fstream>
#include <deque>
using namespace std;
int v[5000005];
int main() {
ifstream fin("deque.in");
ofstream fout("deque.out");
int n, k, i;
long long s;
deque<int> dq;
fin >> n >> k;
for(i = 1; i <= n; ++i)
fin >> v[i];
for(i = 1; i <= k; ++i) {
while(!dq.empty()) {
if(v[i] >= dq.back())
break;
dq.pop_back();
}
dq.push_back(v[i]);
}
s = dq.front();
for(i = k + 1; i <= n; ++i) {
while(!dq.empty()) {
if(v[i] >= dq.back())
break;
dq.pop_back();
}
dq.push_back(v[i]);
if(dq.front() == v[i - k])
dq.pop_front();
s += dq.front();
}
fout << s;
}