Cod sursa(job #2862605)

Utilizator mati.coldea@gmail.comMatei Coldea [email protected] Data 5 martie 2022 16:21:07
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <deque>
using namespace std;
int a[500001];
    int maxi=-1;
        int n, k;
int main()
{
    ios_base::sync_with_stdio(false);
cin.tie(NULL);
    freopen("secventa.in","r", stdin);
    freopen("secventa.out","w",stdout);

    cin>>n>>k;

    deque<int> Q(n+1);
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    int front =1;
    int back=0;
    int stop;
    for(int i=1;i<=n;i++){

        if(front<=back && a[Q[back]]>=a[i]){
            back--;
        }
        Q[++back]=i;
        if(Q[front]==i-k){
                stop=Q[front]+back-front+1;
            front++;
        }

        if(i>=k){
            if(a[Q[front]]>maxi){
                maxi=a[Q[front]];
               stop=i;

            }


        }

    }
cout << stop-k+1<<' '<<stop<<' '<<maxi;


    return 0;
}