Cod sursa(job #3325639)

Utilizator marap2011Paun Mara marap2011 Data 25 noiembrie 2025 21:32:29
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 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] , s , f , x ;
priority_queue < pii , vector < pii > , greater < pii > > pq ;
int sel[500001] ;
int main ()
{
    fin >> n >> k ;
    for ( i = 1 ; i <= n ; i ++ )
    {
        fin >> v[i] ;
        sel[i] = false ;
    }
    for ( i = 1 ; i < k ; i ++ )
        pq.push ( make_pair ( v[i] , i ) ) ;
    for ( i = k ; i <= n ; i ++ )
    {
        pq.push ( make_pair ( v[i] , i ) ) ;
        sel[i-k] = true ;
        while ( ! pq.empty() && sel[pq.top().second] == true )
            pq.pop() ;
        x = pq.top().first ;
       // cout << x << " " ;
        if ( x > mx )
        {
            mx = x ;
            f = i ;
            s = i - k + 1 ;
        }
    }
    fout << s << " " << f << " " << mx ;

    return 0 ;
}