Pagini recente » Cod sursa (job #1404822) | Cod sursa (job #3147581) | Cod sursa (job #2814584) | Cod sursa (job #265388) | Cod sursa (job #928542)
Cod sursa(job #928542)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream is("secventa.in");
ofstream os("secventa.out");
int n, k;
int e[500001];
int r[500001];
int poz, nr, st, dr, m;
int p[500001];
int main()
{
is >> n >> k;
for ( int i = 1; i <= n; ++i )
{
is >> e[i];
r[i] = e[i];
p[e[i]] = i;
}
sort ( r + 1, r + n + 1 );
poz = n - k + 2;
nr = r[poz];
while ( true )
{
--poz;
nr = r[poz];
m = p[nr];
st = m;
dr = m;
while ( e[st] >= e[m] && st > 0 )
--st;
++st;
while ( e[dr] >= e[m] && dr <= n )
++dr;
--dr;
if ( dr - st + 1 >= k )
break;
}
os << st << " " << dr << " " << nr << " ";
is.close();
os.close();
return 0;
}