Pagini recente » Cod sursa (job #31951) | Cod sursa (job #1899489) | Cod sursa (job #2554925) | Cod sursa (job #242232) | Cod sursa (job #2806831)
#include <bits/stdc++.h>
using namespace std;
ifstream fin( "secventa.in" );
ofstream fout( "secventa.out" );
const int NMAX = 5e5;
int v[NMAX + 2];
deque <int> dq;
int main() {
int n, k, i, left, right, maxx;
fin >> n >> k;
for( i = 1; i <= n; ++i )
fin >> v[i];
left = right = maxx = 0;
for( i = 1; i <= n; ++i ) {
while( !dq.empty() && v[dq.back()] >= v[i] )
dq.pop_back();
dq.push_back(i);
if( dq.front() == i - k )
dq.pop_front();
if( i >= k && maxx < v[dq.front()] ) {
maxx = v[dq.front()];
left = i - k + 1;
right = i;
}
}
fout << left << " " << right << " " << maxx;
return 0;
}