Pagini recente » Cod sursa (job #2272320) | Cod sursa (job #2654392) | Cod sursa (job #1852093) | Cod sursa (job #2599990) | Cod sursa (job #3238035)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream input("deque.in");
ofstream output("deque.out");
int main()
{
deque<pair<int, int>> sor;
int temp, k;
input >> temp >> k;
int x, index = 0;
long long s = 0;
while(input >> x){
sor.push_back({x, index});
index++;
if(sor[sor.size()-1].second - sor[0].second >= k){
sor.pop_front();
}
for(int i = sor.size()-2; i >= 0; i--){
if(sor[i].first >= sor[sor.size()-1].first){
sor.erase(sor.begin() + i);
}
}
if(index >= 3){
s += sor.front().first;
}
/*for(auto it = sor.begin(); it != sor.end(); it++){
cout << (*it).first << " " << (*it).second << "; ";
}*/
}
output << s;
return 0;
}