Cod sursa(job #3164605)

Utilizator Manolea_Teodor_StefanManolea Teodor Stefan Manolea_Teodor_Stefan Data 3 noiembrie 2023 20:25:23
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <bits/stdc++.h>
#define MAX_N 5000001
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
struct que{
    int index;
    long long value;
};

int n,k;long long x,s;
deque<que> dq_minim;
bool flag=true;
int main()
{
    fin>>n>>k;
    for(int i = 1 ; i <= n; i++){
        fin>>x;
        while(!dq_minim.empty() && dq_minim.back().value > x)
            dq_minim.pop_back();
        dq_minim.push_back({i,x});
        while(!dq_minim.empty() && dq_minim.front().index + k == i)
            dq_minim.pop_front();
        if(i >= k && i <= n){
            s+=dq_minim.front().value;
            cout<<dq_minim.front().value<<' ';
        }
    }
    fout<<s;

    return 0;
}