Cod sursa(job #2385523)

Utilizator bluestorm57Vasile T bluestorm57 Data 21 martie 2019 22:48:22
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>

using namespace std;

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

int v[500001],n,k;
int vf[500010];

int main(){
     ios::sync_with_stdio(0);
    f.tie(0);
    g.tie(0);
    int i,li,ls,poz,maxx;
    f>>n>>k;
    for(i=1; i<=n; i++)
        f>>v[i];

    li=1;
    ls=0;
    poz=k;
    maxx=-500010;

    for(i=1; i<=n; i++){
        while(li<=ls && v[i]<=v[vf[ls]])
            ls--;
        ls++;
        vf[ls]=i;

        if(vf[li]==i-k)
            li++;

        if(i>=k && v[vf[li]]>maxx){
            maxx=v[vf[li]];
            poz=i;
        }
    }

    g<<poz-k+1<<" "<<poz<<" "<<maxx;
    return 0;
}