Pagini recente » Cod sursa (job #908833) | Cod sursa (job #1755408) | Cod sursa (job #1963625) | Cod sursa (job #764809) | Cod sursa (job #2833068)
/// https://www.infoarena.ro/problema/deque
#include <fstream>
#include <deque>
using namespace std;
int main()
{
ifstream fin("deque.in");
ofstream fout("deque.out");
deque<int> dq;
int n, k, suma = 0;
fin >> n >> k;
int numere[n];
for(int i = 0; i < n; fin >> numere[i++]);
for(int i = 0; i < n; i++)
{
while(!dq.empty() && numere[dq.back()] >= numere[i])
dq.pop_back();
dq.push_back(i);
if(dq.back()-dq.front()+1 > k)
dq.pop_front();
if(i >= k-1)
suma += numere[dq.front()];
}
fout << suma << endl;
return 0;
}