Cod sursa(job #3325499)

Utilizator marap2011Paun Mara marap2011 Data 25 noiembrie 2025 16:50:02
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <bits/stdc++.h>
#define pii pair < int , int >
using namespace std;
ifstream fin ("secventa.in") ;
ofstream fout ("secventa.out") ;
int n , k , i , mx , l , o , v[500005] ;
priority_queue < int , vector < int > , greater < int > > pq ;
map < int , int > sel ;
int main ()
{
    fin >> n >> k ;
    for ( i = 1 ; i <= n ; i ++ )
    {
        fin >> v[i] ;
        sel[v[i]] = false ;
    }
    for ( i = n ; i >= n - k + 1 ; i -- )
        pq.push(v[i]) ;
    mx = pq.top() ;
    l = n ;
    o = n ;
    for ( i = n - k ; i >= 1 ; i -- )
    {
        sel[v[o]] = true ;
        while ( ! pq.empty() && sel[pq.top()] == true )
            pq.pop() ;
        pq.push(v[i]) ;
        if ( pq.top() > mx )
        {
            mx = pq.top() ;
            l = i + k - 1 ;
        }
        o -- ;
    }
    fout << l - k + 1 << " " << l << " " << mx ;


    return 0 ;
}