Cod sursa(job #2343715)

Utilizator AlexBosneag26Bosneag Alexandru AlexBosneag26 Data 14 februarie 2019 11:38:38
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>

using namespace std;

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

int n,k,ci,mi,maxim=-30001,v[500000],dq[500000];

int main()
{
    in>>n>>k;
    for(int i=1;i<=n;i++)
        in>>v[i];
    int st=0,dr=-1;
    for(int i=1;i<=n;i++)
    {
        if(st<=dr&&dq[st]==i-k)
            st++;
        while(st<=dr&&v[i]<=v[dq[dr]])
            dr--;
        dq[++dr]=i;
        if(v[dq[st]]>maxim)
            maxim=v[dq[st]],mi=dq[st];
    }
    ci=mi;
    int maxi=-2,im,jm;
    int j=1,i;
    for(i=1;i<=n;i++)
    {
        if(v[i]<maxim)
            j=i;
        while(j<=i&&v[j]<maxim)
            j++;
        if(i-j+1>maxi)
            maxi=i-j+1,im=j,jm=i;

    }
    out<<im<<" "<<jm<<" "<<maxim;
    return 0;
}