Cod sursa(job #2376611)

Utilizator papinub2Papa Valentin papinub2 Data 8 martie 2019 16:44:09
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#include <vector>
#include <deque>
#include <algorithm>

using namespace std;

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

int main()
{
    int n, k, st, dr, maxim = -30005;

    in.sync_with_stdio(false);
    in >> n >> k;

    deque<int> D;
    vector<int> v(n + 1);

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

        while (!D.empty() && v[i] < v[D.back()])
            D.pop_back();

        D.push_back(i);

        if (i >= k)
        {
            if (D.front() <= i - k)
                D.pop_front();

            if (v[D.front()] > maxim)
            {
                maxim = v[D.front()];
                st = i - k + 1;
                dr = i;
            }
        }
    }

    out << st << ' ' << dr << ' ' << maxim;
    return 0;
}