Cod sursa(job #2626554)

Utilizator ElektrykT E S L A P E F E L I E Elektryk Data 6 iunie 2020 20:49:39
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <deque>

using namespace std;

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

int n, k;

int v[500137];

int l, r, mx = -50137;

deque < int > q;

int main()
{
    in >> n >> k;
    for ( register int i = 1; i <= n ; ++i )
    {
        in >> v[i];
        while ( !q.empty ()  &&  v[i] <= v[q.back ()] )
            q.pop_back ();
        q.push_back(i);
        if ( i - q.front () + 1 > k )
            q.pop_front ();
        if ( mx < v[q.front()]  &&  i >= k )
        {
            mx = v[q.front ()];
            r = i;
            l = i - k + 1;
        }
    }
    out << l << " " << r << " " << mx;
    return 0;
}