Cod sursa(job #2016275)

Utilizator GeoeyMexicanuBadita George GeoeyMexicanu Data 28 august 2017 23:54:36
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>
#define INF 3000010

using namespace std;

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

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

int main()
{
    f>>n>>k;
    frnt=1;
    bck=0;
    for(i=1;i<=n;i++)
    {
        f>>a[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[bck];
            }
        }
    }
    g<<sol1-k+1<<" "<<sol1<<" "<<max1;
    return 0;
}