Cod sursa(job #2290006)

Utilizator lucianistratiIstrati Lucian lucianistrati Data 25 noiembrie 2018 17:24:43
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.06 kb
9#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
int main()
{
    ifstream fin("deque.in");
    ofstream fout("deque.out");
    deque<int> coada;
    int N,K,i,nr,s=0,min1=10000001,pozmin1=0,min2=10000001,pozmin2=0;
    fin>>N>>K;
    for(i=1;i<=N;i++)
    {
        fin>>nr;
        if(coada.size()<=K)
        {
            coada.push_front(nr);
            if(nr<min1)
            {
                min1=nr;
                pozmin1=i;
            }
            if((nr<min2 && nr>min1) || (nr<min2 && nr==min1 && pozmin1!=i))
            {
                min2=nr;
                pozmin2=i;
            }
        }
        else
        {
            s=s+min1;
            if(i-pozmin1>=K)
            {
                min1=10000001;
                pozmin1=0;
            }
            if(i-pozmin2>=K)
            {
                min2=10000001;
                pozmin2=0;
            }
            coada.pop_back();
        }
    }
    fout<<s;
    fin.close();
    fout.close();
    return 0;
}