Cod sursa(job #2926746)

Utilizator Terminator2Cristian Razvan Terminator2 Data 18 octombrie 2022 16:50:13
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#include <deque>
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
long long v[5000002];
int main()
{
    int n,k;
    cin >> n >> k ;
    long long sum = 0;
    for(int i = 1; i <= n; i++)
    {
        cin >> v[i];
    }
    int i = 1;
    deque<long long>dq;


    for(i = 1; i <= n; i++)
    {
        while(dq.empty() == false and v[i] <= v[dq.back()])
        {
          dq.pop_back();
        }
        dq.push_back(i);
         if(dq.front() == i - k)
          {
             dq.pop_front();
          }
          if(i >= k)
          {
            sum = sum + v[dq.front()];
          }
    }
    cout << sum;
    return 0;
}