Cod sursa(job #2576418)

Utilizator DysKodeTurturica Razvan DysKode Data 6 martie 2020 19:14:55
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <deque>

using namespace std;

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

int n, k;

int v[500137];

int st, fin, mx;

deque < int > q;

int main()
{
    mx = -100000000;
    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 ( i >= k  &&  v[q.front ()] > mx )
        {
            mx = v[q.front ()];
            fin = i;
            st = i - k + 1;
        }
    }
    out << st << " " << fin << " " << mx;
    return 0;
}