Cod sursa(job #2815117)

Utilizator Mihai7218Bratu Mihai-Alexandru Mihai7218 Data 9 decembrie 2021 09:24:34
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#include <deque>
#include <vector>
using namespace std;
ifstream fin ("secventa.in");
ofstream fout ("secventa.out");
int n, m, i, j, k, x, imn, imx, mx;
deque <pair <int, int>> d;
int main()
{
    fin >> n >> k; mx = -1000000000;
    for (i = 1; i <= n; i++)
    {
        fin >> x;
        while (!d.empty() && d.back().first >= x)
            d.pop_back();
        while (!d.empty() && d.front().second <= i-k)
            d.pop_front();
        d.push_back(make_pair(x, i));
        if ((d.back().second - d.front().second + 1) >= k && d.front().first > mx)
            mx = d.front().first, imn = d.front().second, imx = d.back().second;
    }
    fout << imn << " " << imx << " " << mx;
    return 0;
}