Pagini recente » Cod sursa (job #2888025) | Cod sursa (job #804242)
Cod sursa(job #804242)
# include <fstream>
# include <cstring>
# include <algorithm>
# include <deque>
# include <vector>
# define dim 500005
# define inf 999999999
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int a[ dim ];
int n, k;
int sol = -inf , inc, sf;
deque < int > q;
void citire()
{
int i;
f >> n >> k;
for ( i = 1 ; i <= n ; i++ )
f >> a[ i ];
}
void rezolva()
{
int i;
q.push_front( 1 );
for ( i = 2 ; i <= n ; i++ )
{
while ( !q.empty() && a[ i ] <= a[ q.back() ] )
q.pop_back();
q.push_back( i );
if ( i >= k )
{
if ( sol < a[ q.front() ] )
{
inc = q.front();
sf = q.back();
sol = a[ q.front() ];
}
if ( q.front() == i - k + 1 )
q.pop_front();
}
}
g << inc << " " << sf << " " << sol << "\n";
}
int main()
{
citire();
rezolva();
return 0;
}