Cod sursa(job #2392100)

Utilizator oogaboogauvuvwevwevwe onyetenyevwe ugwemubwem ossas oogabooga Data 29 martie 2019 17:42:40
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
#include <deque>
using namespace std;

const int MX = 5000000;

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

deque <int> d;
int n;
int k;
int v[MX + 5];
int l;
int r;
int vl = -MX;

int main()
{
    ios::sync_with_stdio(false);

    in>>n>>k;

    for(int i = 1; i <= n; ++i)
    {
        in>>v[i];
    }

    for(int i = 1; i <= n; ++i)
    {
        while(!d.empty() and v[i] < v[d.back()])
        {
            d.pop_back();
        }

        d.push_back(i);

        if(d.front() == i - k)
        {
            d.pop_front();
        }

        if(i >= k)
        {
            if(vl < v[d.front()])
            {
                vl = v[d.front()];
                l = i - k + 1;
                r = i;
            }
        }
    }

    out<<l<<" "<<r<<" "<<vl;

    return 0;
}