Cod sursa(job #3309843)

Utilizator andreic06Andrei Calota andreic06 Data 9 septembrie 2025 17:28:44
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>

using namespace std;
using int64 = long long;
const int N_MAX = 5e6;

ifstream fin ("deque.in");
ofstream fout ("deque.out");

int v[1 + N_MAX];
int main()
{

   int N, K; fin >> N >> K;
   for (int i = 1;i <= N; i ++)
      fin >> v[i];

   int64 sum = 0;

   deque<int> dq;
   for (int i = 1; i <= N; i ++) {
      while (!dq.empty () && v[i] <= v[dq.back ()])
         dq.pop_back ();
      dq.push_back (i);
      if (dq.front () == i - K)
        dq.pop_front ();

      if (i >= K)
        sum += v[dq.front ()];
   }
   fout << sum;
    return 0;
}