Cod sursa(job #2909776)

Utilizator STEFANBUSOIStefan Busoi STEFANBUSOI Data 15 iunie 2022 18:15:09
Problema Secventa Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("secventa.in");
ofstream fout("secventa.out");

deque <int> dq;
int v[500001];

int main()
{
    int n,k,i,mx,is;
    fin >> n >> k;
    mx=-100000;
    for (i=1; i<=n; i++)
    {
        fin >> v[i];
        while (dq.size() && v[i]<=v[dq.back()])
            dq.pop_back();
        if (dq.front()<=i-k && dq.size())
            dq.pop_front();
        dq.push_back(i);
        if (i>=k)
        {
            if (v[dq.front()]>mx)
            {
                mx=v[dq.front()];
                is=i;
            }
        }
        for(int i=0;i<dq.size();i++)
            cout<<dq[i]<<" ";
        cout<<"\n";
    }
    fout << is-k+1 << " " << is << " " << mx;
}