Cod sursa(job #3157704)

Utilizator dobreraduDobre Radu Fabian dobreradu Data 16 octombrie 2023 18:16:28
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
int v[500001];
deque <int> q;
int main()
{
    int n, k, maxi = -30001, l, r;
    in >> n >> k;
    for( int i = 0; i < n; i++ )
        in >> v[i];
    for( int i = 0; i < k-1; i++ )
        q.push_back(i);
    for( int i = k-1 ; i < n; i++ ){
        while( !q.empty() && q.front() <= i - k )
            q.pop_front();
        while( !q.empty() && v[i] < q.back())
            q.pop_back();
        q.push_back(i);
        if( v[q.front()] > maxi ){
            maxi = v[q.front()];
            l = i-k+2;
            r = i+1;
        }
    }
    out << l << " " << r << " " << maxi;
    return 0;
}