Cod sursa(job #3164592)

Utilizator Manolea_Teodor_StefanManolea Teodor Stefan Manolea_Teodor_Stefan Data 3 noiembrie 2023 19:25:37
Problema Deque Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.88 kb
#include <bits/stdc++.h>

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

int n,k;long long x,s,curr_minim;
deque<long long> dq_minim;
bool flag=true;
int main()
{
    fin>>n>>k;
    fin>>x;
    dq_minim.push_front(x);
    for(int i = 1; i<k - 1; i++){
        fin>>x;
        dq_minim.push_back(x);
    }
    for(int i = 1 ; i <= n - k + 1;i++){
        fin>>x;
        if(x < curr_minim)
            curr_minim = x;
        dq_minim.push_back(x);
        if(flag)
            curr_minim = LLONG_MAX;
        if(flag)
            for(long long j : dq_minim)
                if(j < curr_minim)
                    curr_minim = j;
        if(flag)
            flag = !flag;
        s+=curr_minim;

        if(dq_minim.front() == curr_minim)
            flag = true;
        dq_minim.pop_front();
    }
    fout<<s;

    return 0;
}