Cod sursa(job #2468889)

Utilizator Tudor_PascaTudor Pasca Tudor_Pasca Data 6 octombrie 2019 10:44:32
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 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, minimax;
    int start, finish = 0;


    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.front().second << '\n';

        if(minimax < v.front().first)
        {
            start = i-k+1;
            finish = i;
            minimax = v.front().first;
        }

        //cout << minimax.first << ' ' << minimax.second << ' ' << "start: " << start << ' ' << "finish: " << finish << '\n';

        if(v.front().second == i-k+1)
            v.pop_front();

    }

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

    return 0;
}