Cod sursa(job #2676283)

Utilizator gargantuanRares Oprea gargantuan Data 23 noiembrie 2020 21:37:57
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#include <deque>

using namespace std;

ifstream cin("secventa.in");
ofstream cout("secventa.out");

deque < long long > d;
deque < long long > poz;

int v[600005];
int main()
{
    long long n,k,i,maxim=0,ind;
    cin>>n>>k;
    for(i=1; i<=n; i++)
    {
        cin>>v[i];
        while(v[i]<=d.front()&&d.size()>0)
        {
            d.pop_front();
            poz.pop_front();
        }
        d.push_front(v[i]);
        poz.push_front(i);
        if(i>=k)
            if(d.back()>maxim)
            {
                    maxim=d.back();
                    ind=poz.back();
            }
        if(poz.back()==i-k+1)
        {
            d.pop_back();
            poz.pop_back();
        }
    }
    for(i=ind+k-1;i>=ind;i--)
    {
        cout<<v[i]<<" ";
    }
    return 0;
}