Cod sursa(job #2739579)

Utilizator MihneaCadar101Cadar Mihnea MihneaCadar101 Data 8 aprilie 2021 20:17:10
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
const int nmax = 5e5 + 5;

int n, k, v[nmax];
int main()
{
    fin >> n >> k;
    for (int i = 1; i <= n; ++i) {
        fin >> v[i];
    }

    deque <int> deq;
    int ans = -nmax, st = 0, dr = 0;
    for (int i = 1, j = 1; j <= n; ++i) {
        if (!deq.empty())
            deq.push_front(v[i]);

        while (j <= n && j - i + 1 < k) {
            j++;
            while (!deq.empty() && v[j] <= deq.back()) {
                deq.pop_back();
            }

            deq.push_back(v[j]);
        }

        if (deq.front() >= ans) {
            ans = deq.front();
            st = i;
            dr = j;
        }
    }

    fout << st << ' ' << dr << ' ' << ans;
    return 0;
}