Pagini recente » Cod sursa (job #1943499) | Cod sursa (job #1341088) | Cod sursa (job #267210) | Cod sursa (job #1668834) | Cod sursa (job #21586)
Cod sursa(job #21586)
#include <fstream>
#include <deque>
using namespace std;
struct p {
int index, val;
};
int main() {
deque< p > d;
p x;
int best = -66666, poz, N, K;
ifstream Fin( "secventa.in" );
ofstream Fout( "secventa.out" );
Fin >> N >> K;
for( int i=1; i<=N; i++ ) {
x.index = i;
Fin >> x.val;
while( !d.empty() ) {
if( d.back().val >= x.val )
d.pop_back();
else
break;
}
d.push_back( x );
if( d.front().index <= i-K )
d.pop_front();
if( best < d.front().val && i >= K ) {
poz = i;
best = d.front().val;
}
}
Fout << poz - K + 1 << " " << poz << " " << best << endl;
return 0;
}