Cod sursa(job #2667641)

Utilizator metallidethantralayerIon Cojocaru metallidethantralayer Data 3 noiembrie 2020 18:32:05
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("secventa.in");
ofstream g("secventa.out");
int n,v[500005],k,mx=-1e9,i_s,i_f;
deque <int> Q;
int main()
{
    f>>n>>k;
    for(int i=1; i<=n; i++)
        f>>v[i];
    for(int i=1; i<=n; i++)
    {
        while(!Q.empty()&&v[Q[Q.size()-1]]>v[i])
            Q.pop_back();
        Q.push_back(i);
        if(i>=k)
            if(mx<v[Q[0]])
                mx=v[Q[0]],i_s=i-k+1,i_f=i;
        if(i-k+1==Q[0])
            Q.pop_front();

    }
    g<<i_s<<' '<<i_f<<' '<<mx;
    return 0;
}