Cod sursa(job #2399897)

Utilizator IoanaDraganescuIoana Draganescu IoanaDraganescu Data 8 aprilie 2019 10:13:13
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>
#include <deque>

using namespace std;

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

deque <pair <int, int>> d;

int main()
{
    int n, k, nr, sol = -30005, poz = 0;
    fin >> n >> k;
    for (int i = 1; i <= n; i++)
    {
        fin >> nr;
        while (!d.empty() && nr <= d.front().first)
            d.pop_front();
        d.push_front(make_pair(nr, i));
        if (d.back().second < i - k + 1)
            d.pop_back();
        if (i >= k && d.back().first > sol)
        {
            sol = d.back().first;
            poz = i;
        }
    }
    fout << poz - k + 1 << ' ' << poz << ' ' << sol << '\n';
    return 0;
}