Cod sursa(job #2902404)

Utilizator SergetecLefter Sergiu Sergetec Data 16 mai 2022 10:37:49
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
#include <vector>
#include <deque>

using namespace std;

ifstream cin("deque.in");
ofstream cout("deque.out");

int main()
{
  int n, k;
  long long s = 0;
  cin >> n >> k;
  vector <int> v(n);
  deque <int> dq;
  for (int i = 0; i < n; ++i)
  {
    cin >> v[i];
    if (!dq.empty() && dq.front() == i - k)
    {
      dq.pop_front();
    }
    while (!dq.empty() && v[dq.back()] >= v[i])
    {
      dq.pop_back();
    }
    dq.push_back(i);
    if (i >= k - 1)
    {
      s += v[dq.front()];
    }
  }
  cout << s;
  cin.close();
  cout.close();
  return 0;
}