Cod sursa(job #3315468)

Utilizator Andreea1501013Andreea Andreea1501013 Data 14 octombrie 2025 10:31:32
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#include <deque>

using namespace std;
int nr[500005];
deque<int> dq;
int main()
{
    ifstream cin("secventa.in");
    ofstream cout("secventa.out");
    int N,K,maxi=0,poz;
    cin>>N>>K;
    for(int i=1;i<=N;i++)
    {
        cin>>nr[i];
    }
    for(int i=1;i<=N;i++)
    {
        ///elimin elementele care nu mai sunt in interval
        while(dq.empty()==0 && dq.front()<=i-K)
        {
            dq.pop_front();
        }
        ///elimin elementele care nu mai au cum sa fie minime pt ca a venit alt minim
        while(dq.empty()==0 && nr[dq.back()] >=nr[i])
        {
            dq.pop_back();
        }
        dq.push_back(i);
        if(i>=K)
        {
            if(nr[dq.front()]>maxi)
            {
                maxi=nr[dq.front()];
                poz=i;
            }
        }
    }
    cout<<poz-K+1<<' '<<poz<<' '<<maxi;
    return 0;
}