Cod sursa(job #2917671)

Utilizator STEFANBUSOIStefan Busoi STEFANBUSOI Data 6 august 2022 19:25:49
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb

#include <bits/stdc++.h>
using namespace std;
struct pereche{
    int val;
    int pos;
    pereche(int val,int pos){
    this->val=val;
    this->pos=pos;
    }
};
deque <pereche> Deque;
ifstream f("secventa.in");
ofstream g("secventa.out");
int main()
{
    int n,k,v[500001],mx=-3000000;
    f>>n>>k;
    for(int i=0;i<n;i++)
    {
        f>>v[i];
    }
    for(int i=0;i<n;i++){
        while(!Deque.empty()&&Deque.back().val>v[i])
            Deque.pop_back();
        Deque.push_back(*new pereche(v[i],i));
        while(i-k>=Deque.front().pos){
            Deque.pop_front();

        }
        if(i>=k-1)
            mx=max(mx,Deque.front().val);
    }

    int len=0,mLen=0,startPos=0,mStartPos=0;
    for(int i=0;i<n;i++){
        if(v[i]>=mx){
        len++;
        if(len>mLen)
            mLen=len;
        }else{
            len=0;
            mStartPos=i+1;
        }

    }
    g<<mStartPos+1<<" "<<mStartPos+len<<" "<<mx;


}
// } Driver Code Ends