Cod sursa(job #2683691)

Utilizator VladMxPMihaila Vlad VladMxP Data 11 decembrie 2020 23:02:57
Problema Secventa Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
deque <int> d;
int n,k,x,v[500001],mx;
int pi,pj;

int main()
{
    fin>>n>>k;
    for(int i=1;i<=n;i++)
        fin>>v[i];
    for(int i=1;i<=k;i++)
    {
        while(!d.empty()&&v[d.back()]>=v[i])
            d.pop_back();
        d.push_back(i);
    }
    mx=v[d.front()];
    pi=1;
    for(int i=k+1;i<=n;i++)
    {
        while(!d.empty()&&v[d.back()]>=v[i])
            d.pop_back();
        d.push_back(i);
        if(d.front()<=i-k)
            d.pop_front();
        if(v[d.front()]>mx)
        {
            mx=v[d.front()];
            pi=i-k+1;
        }
    }
    fout<<pi<<" "<<pi+k-1<<" "<<mx;
}