Cod sursa(job #2676295)

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

        }
    }
    cout << stanga << " " << dreapta << " " << maxx;
    return 0;
}