Cod sursa(job #2392099)

Utilizator oogaboogauvuvwevwevwe onyetenyevwe ugwemubwem ossas oogabooga Data 29 martie 2019 17:41:54
Problema Secventa Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <bits/stdc++.h>
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 = INT_MIN;

int main()
{
    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;
}