Cod sursa(job #2461088)

Utilizator Tudor_PascaTudor Pasca Tudor_Pasca Data 24 septembrie 2019 21:16:22
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>
#include <deque>
#include <utility>

using namespace std;

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

int main()
{
    deque<pair<int,int>> v;
    int n, k, i, val;
    int minimax = -50000, start, finish;
    in >> n >> k;

    for(i = 1; i <= n; i++)
    {
        in >> val;

        while(!v.empty() && val <= v.back().first)
                v.pop_back();

        v.emplace_back(val, i);

        //cout << v.front().first << ' ' <<v.back().first << '\n';

        if(v.front().second == i-k+1)
        {
                minimax = max(minimax, v.front().first);
                start = v.front().second;
                finish = start+k-1;
                v.pop_front();
        }

    }

    out << start << ' ' << finish << ' ' << minimax << '\n';

    return 0;
}