Pagini recente » Cod sursa (job #2062968) | Cod sursa (job #1769982) | Cod sursa (job #2476679) | Istoria paginii utilizator/lacatus | Cod sursa (job #2380949)
#include <bits/stdc++.h>
using namespace std ;
ifstream in ("secventa.in") ;
ofstream out ("secventa.out") ;
deque < int > q ;
int v [ 500005 ] ,n , k , i , best = - ( 1 << 30 ) , X , Y ;
int main () {
in >> n >> k ;
for ( i = 1 ; i <= n ; ++ i ) {
in >> v [ i ] ;
while ( !q.empty() && v [ q.back() ] >= v [ i ] ) q.pop_back() ;
q.push_back( i ) ;
if ( i - q.front() + 1 > k ) q.pop_front() ;
if ( !q.empty() && v[ q.front() ] > best && q.back() >= k ) {
best = v [ q.front() ] ;
X = q.back() - k + 1 ;
Y = q.back() ;
}
}
out << X << ' ' << Y << ' ' << best ;
}