Pagini recente » Cod sursa (job #2223110) | Cod sursa (job #3150570) | Cod sursa (job #1838836) | Cod sursa (job #385247) | Cod sursa (job #2631300)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
long long suma = 0;
int n,k;
vector <int> sir;
deque <int> coada;
//vector <int> coada2;
int main()
{
fin >> n >> k;
while(n--){
int numar;
fin >> numar;
sir.push_back(numar);
}
for (int i = 0; i < k; i++){
while(!coada.empty()){
if(sir[i] > coada.back())
break;
coada.pop_back();
}
coada.push_back(sir[i]);
}
suma+=coada.front();
//coada2.push_back(coada.front());
for (int i = k; i < sir.size(); i++){
while(!coada.empty()){
if(sir[i] > coada.back())
break;
coada.pop_back();
}
coada.push_back(sir[i]);
if(coada.front() == sir[i - k])
coada.pop_front();
suma+=coada.front();
//coada2.push_back(coada.front());
}
fout << suma;
/*
fout << endl;
for (int i = 0; i < coada2.size(); i++)
fout << coada2[i] << " ";
*/
}