Cod sursa(job #2969970)

Utilizator raileanu-alin-gabrielRaileanu Alin-Gabriel raileanu-alin-gabriel Data 23 ianuarie 2023 22:23:27
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>
#include <deque>
const int NMAX=5000005;

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

deque <int> dq;
int v[NMAX];
int n, k;
long long ans;

int main()
{
  int i;
  fin>>n>>k;
  for(i=1; i<=n; i++) fin>>v[i];
  for(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) ans+=v[dq.front()];
  }
  fout<<ans<<'\n';
}