Cod sursa(job #2607675)

Utilizator RNedelcuNedelcu Radu RNedelcu Data 29 aprilie 2020 23:42:48
Problema Deque Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <fstream>
#include <deque>
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");

int main() {
    int N, K, x, i = 0;
    long long int S = 0;
    int min = 0xFFFFFFF;
    in >> N >> K;
    deque<int> A;
    for(i = 0; i < K; i++) {
        in >> x;
        if(x < min)
            min = x;
        A.push_back(x);
    }
    S += min;
    for(i; i < N; i++) {
        in >> x;
        if(min == A.front()) {
                min = 0xFFFFFFF;
            A.pop_front();
            A.push_back(x);
            for(auto &i:A)
                if(i<min)
                min=i;
            S += min;
        } else {
            A.pop_front();
            A.push_back(x);
            if(x < min)
                min = x;
            S += min;
        }

    }
    out << S;


    return 0;
}