Cod sursa(job #2936366)

Utilizator BOSSSTEFANPetrescu Ioan Stefan BOSSSTEFAN Data 8 noiembrie 2022 18:50:32
Problema Secventa Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>

using namespace std;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
int v[500001],coada[500001];
int main()
{
    int n,k,i1=1,i2=1,i,maxi=-999999,rez;
    cin>>n>>k;
    for(i=1;i<=n;i++)
        cin>>v[i];
    v[0]=999999;
    for(i=1;i<k;i++)
    {
        while(i2>=i1&&v[coada[i2]]>v[i])
            i2--;
        i2++;
        coada[i2]=i;
    }
    for(i=k;i<=n;i++)
    {
        if(i-k+1>coada[i1])
            i1++;
        while(i2>=i1&&v[coada[i2]]>v[i])
            i2--;
        i2++;
        coada[i2]=i;
        if(v[coada[i1]]>maxi)
        {
            maxi=v[coada[i1]];
            rez=i;
        }
    }
    cout<<rez-k+1<<" "<<rez<<" "<<maxi;
    return 0;
}