Cod sursa(job #3163214)

Utilizator ChopinFLazar Alexandru ChopinF Data 30 octombrie 2023 22:31:35
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <bits/stdc++.h>
#define ll long long
#define MOD 1e9+7
#define FAST ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define LONG_MAX 1LL << 63
#define LONG_MIN -1LL << 63
#define INT_MAX 1<<31 -1
#define INT_MIN -1<<31 +1


using namespace std;
string fis="deque";
ifstream fin(fis+".in");
ofstream fout(fis+".out");

ll n , k , x;
deque<int>dq;
ll suma , minn ,v[5000010];
int main()
{
    FAST
    fin >> n >> k;
    for(int i = 1 ; i <= n ; ++i)
        fin >> v[i];

    for(int i = 1; i <= n; ++i)
    {
        while(!dq.empty()
        && v[i] < v[dq.back()])
            dq.pop_back();

        dq.push_back(i);

        if(i - dq.front() == k )dq.pop_front();

        if(i >= k)suma += v[dq.front()];

    }

    fout << suma ;
}