Pagini recente » Borderou de evaluare (job #3333147) | Cod sursa (job #2692687) | Cod sursa (job #3350750) | Cod sursa (job #3338473) | Cod sursa (job #3325644)
#include <bits/stdc++.h>
#define pii pair < int , int >
using namespace std;
ifstream fin ("secventa.in") ;
ofstream fout ("secventa.out") ;
long long n , k , i , mx , l , o , v[500005] , s , f , x ;
priority_queue < pii , vector < pii > , greater < pii > > pq ;
int main ()
{
fin >> n >> k ;
for ( i = 1 ; i <= n ; i ++ )
{
fin >> v[i] ;
}
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 ) ) ;
while ( ! pq.empty() && pq.top().second <= i - k )
pq.pop() ;
if ( ! pq.empty() )
{
x = pq.top().first ;
// cout << x << " " ;
if ( x > mx )
{
mx = x ;
f = i ;
s = i - k + 1 ;
}
}
}
fout << s << " " << f << " " << mx ;
return 0 ;
}