Pagini recente » Cod sursa (job #2296916) | Cod sursa (job #295983) | Monitorul de evaluare | Cod sursa (job #148846) | Cod sursa (job #2008124)
#include<fstream>
#include<deque>
using namespace std;
struct minimum {
int ertek;
int poz;
};
int main() {
ifstream in("deque.in");
int N, K;
in >> N >> K;
deque<minimum> dq;
long long s=0;
for (int i = 0;i < N;++i) {
int nr;
in >> nr;
while (!dq.empty() && dq.back().ertek >= nr)
dq.pop_back();
minimum temp { nr, i };
dq.push_back(temp);
if (i - dq.front().poz == K)
dq.pop_front();
if(i>=K-1) s += dq.front().ertek;
}
ofstream out("deque.out");
out << s;
}