Cod sursa(job #2676292)

Utilizator justin.stoicaJustin Stoica justin.stoica Data 23 noiembrie 2020 21:58:27
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
#include <deque>
using namespace std;
deque <int> coada;
const int NMAX = 500005;
int v[NMAX], L[NMAX], R[NMAX];
int main()
{
    ifstream cin("secventa.in");
    ofstream cout("secventa.out");
    int n, k, maxx = 0, stanga = 0, dreapta = 0;
    cin >> n >> k;
    for(int i = 1; i <= n; i ++)
    {
        cin >> v[i];
        while (!coada.empty() && v[i]<=v[coada.back()])
            coada.pop_back();
        coada.push_back(i);
        if (i > k)
        {
            if (coada.front() == i - k)
                coada.pop_front();
        }
        if (i>=k)
        {

            if (maxx<v[coada.front()])
            {
                maxx = v[coada.front()];
                dreapta = i;
                stanga = i - k + 1;
            }
        }
    }
    cout << stanga << " " << dreapta << " " << maxx;
    return 0;
}