Cod sursa(job #2731105)

Utilizator anaop32Oprea Ana-Maria anaop32 Data 27 martie 2021 12:30:03
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.22 kb
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;

long long minim(deque<int> dq){
    long long mini = dq[0];
    for (int i = 1; i < dq.size(); i++){
        if (dq[i] < mini)
            mini = dq[i];
    }
    return mini; 
}

using namespace std;
ifstream f ("deque.in");
ofstream g ("deque.out");
int main(){
    long long n, k;
    f>> n >> k;
    deque <int> dq;
    long long x;
    for (int i = 0; i < k; i++){
        f>>x;
        dq.push_back(x);
    }

    // for (int i = 0; i < dq.size(); i++){
    //    cout << dq[i];
    // }
    
    long long mini = minim(dq);
    //cout<< endl << mini << endl;
    long long suma = mini;
    for (int i = k; i < n; i++){
        if (mini == dq[0]){
            dq.pop_front();
            f >> x;
            dq.push_back(x);
            mini = minim(dq);
            suma += mini;
        }
        else{
            dq.pop_front();
            f >> x;
            dq.push_back(x);
            if (mini > x)
                mini = x;
            suma += mini;
        }
    // for (int i = 0; i < dq.size(); i++){
    //    cout << dq[i];
    // }
    // cout<< endl << mini << endl;

    }
    cout << suma;
}