Cod sursa(job #2276672)

Utilizator r00t_Roman Remus r00t_ Data 5 noiembrie 2018 09:48:49
Problema Deque Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.01 kb
#include <iostream>
#include <fstream>
#include <deque>
#include <queue>

#define MAX_INT 0x3f3f3f3f
//deque infoarena
using namespace std;

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

deque<int> dq1;

int minDq1(deque<int> dq1){
    int Min2=MAX_INT;
    while(!dq1.empty()){
        Min2 = min(Min2, dq1.front());
        dq1.pop_front();
    }
    return Min2;
}

void showDq(deque<int> dq1){
    while(!dq1.empty()){
        fout<<dq1.front()<<'\n';
        dq1.pop_front();
    }
}

int main()
{
    long long sum = 0;
    int Min=MAX_INT, n, k, a;
    fin>>n>>k;
    for(int i=0; i<k; i++){
        fin>>a;
        dq1.push_front(a);
        Min = min(Min, a);
        //fout<<Min<<'\n';
    }
    sum+=Min;
    for(int i=k; i<n; i++){
        fin>>a;
        dq1.push_front(a);
        dq1.pop_back();
        Min = minDq1(dq1);
        sum+=Min;
        //showDq(dq1);
        //fout<<'\n';
        //fout<<Min<<'\n';
    }
    fout<<sum;


    return 0;
}