Cod sursa(job #2016272)

Utilizator GeoeyMexicanuBadita George GeoeyMexicanu Data 28 august 2017 23:43:47
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int a[500010],deq[500010],max1=0,i,j,n,k,sol1,sol2,frnt,bck;

int main()
{
    f>>n>>k;
    for(i=1;i<=n;i++)
        f>>a[i];
    frnt=1;
    bck=0;
    for(i=1;i<=n;i++)
    {
        while(frnt<=bck && a[i]<=a[deq[bck]]){
            bck--;
        }
        deq[++bck]=i;
        if(deq[frnt]<=i-k)
            frnt++;
        if(i>=k)
        {
            if(max1<a[deq[frnt]])
            {
                max1=a[deq[frnt]];
                sol1=deq[frnt];
                sol2=deq[bck];
            }
        }
    }
    g<<sol1<<' '<<sol2<<' '<<max1;
}