Pagini recente » Cod sursa (job #1882733) | Cod sursa (job #1457162) | Cod sursa (job #3139079) | Cod sursa (job #660183) | Cod sursa (job #1179211)
#include<fstream>
#include<deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
struct Elem {
int val;
int poz;
};
deque<Elem> Q;
int n, a, i, k;
long long sum;
int main() {
fin >> n >> k;
for(i = 0; i < n; i++) {
fin >> a;
while(!Q.empty() && a < Q.back().val) {
Q.pop_back();
}
Elem nou;
nou.val = a;
nou.poz = i+1;
Q.push_back(nou);
if(Q.front().poz <= i+1-k) {
Q.pop_front();
}
if(i + 1 >= k) {
// cout << Q.front().val << "\n";
sum += Q.front().val;
}
}
fout << sum;
return 0;
}