Pagini recente » Cod sursa (job #3240619) | Cod sursa (job #2989788) | Cod sursa (job #352721) | Cod sursa (job #2414971) | Cod sursa (job #2631290)
#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] << " ";
*/
}