Cod sursa(job #3310614)

Utilizator Stefan_25Vicu Stefan Stefan_25 Data 15 septembrie 2025 16:05:24
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 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;
}