Cod sursa(job #2293639)

Utilizator 0738076326Simon Wil 0738076326 Data 1 decembrie 2018 13:27:33
Problema Deque Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.26 kb
#include <iostream>
#include <fstream>
#include <deque>
#include <vector>

using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");

int n,k;
long long s,x;
deque<long long>q;
vector<long long>v;

int main(){
    int i;
    f>>n>>k;
    for(i=1; i<=n; i++){
        f>>x;
        q.push_back(x);
    }

    for(i=1; i<=k; i++){
        x=q.back();
        q.pop_back();
        v.push_back(x);
       }

    long long Min=11000000;

       for(i=0; i<k; i++)
        if(v[i]<Min)
        Min=v[i];

   // g<<Min<<" ";
     s+=Min;

    while(!q.empty())
    {

       // g<<q.back()<<" ";
       //for(i=0; i<k; i++)
       // if(v[i]<Min)
       // Min=v[i];
        if(v[0]==Min){

        for(i=0; i<k-1; i++)
        v[i]=v[i+1];

        Min=11000000;
        for(i=0; i<k; i++)
            if(v[i]<Min)
            Min=v[i];
        }
        else
        for(i=0; i<k-1; i++)
        v[i]=v[i+1];

       v.pop_back();
       x=q.back();
       q.pop_back();
       v.push_back(x);

         if(v.back()<Min)
        Min=v.back();
       //v.push_back(v[0]);

       //for(i=0; i<k-1; i++)
        //v[i]=v[i+1];
       s+=Min;
       //g<<Min<<" ";




    }

    g<<s;
    return 0;
}