Cod sursa(job #2314911)

Utilizator TheNextGenerationAyy LMAO TheNextGeneration Data 9 ianuarie 2019 11:31:46
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
const int N = 5e5+1;
int v[N];
deque<int> q;
int main()
{
    int n,k;
    ios::sync_with_stdio(0);
    in.tie(0);
    out.tie(0);
    in >> n >> k;
    for (int i = 1; i<=n; i++)
        in >> v[i];
    int Max = -1e9, dr = k;
    for (int i = 1; i<=n; i++)
    {
        while (!q.empty() && v[q.back()]>=v[i])
            q.pop_back();
        q.push_back(i);
        if (i-q.front() == k)
            q.pop_front();
        if (i>=k && v[q.front()]>Max)
        {
            Max = v[q.front()];
            dr = i;
        }
    }
    out << dr-k+1 << " " << dr << " " << Max;
}