Cod sursa(job #1723960)

Utilizator dcutitoiuCutitoiu Adrian-Nicolae dcutitoiu Data 1 iulie 2016 22:00:52
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <string.h>
#include <iterator>
#include <deque>
#include <cmath>
using namespace std;

int main () {

    int N, K, x;
    ifstream in("deque.in");
    ofstream out("deque.out");

    in >> N >> K;

    deque<int> subsir(K);
    for(auto &x : subsir)
        in >> x;

    int minim = *min_element(subsir.begin(), subsir.end());
    int suma = minim;

    for(int i = 1; i <= N - K; i++){
        in >> x;
        subsir.push_back(x);
        if(subsir[0] == minim){
            subsir.pop_front();
            minim = *min_element(subsir.begin(), subsir.end());
        }
        else{
            subsir.pop_front();
            if(minim > subsir[subsir.size() - 1])
                minim = subsir[subsir.size() - 1];
        }
        suma += minim;
    }

    out << suma;


    return 0;
}