Pagini recente » Monitorul de evaluare | Cod sursa (job #642783) | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #955087)
Cod sursa(job #955087)
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream fin( "secventa.in" );
ofstream fout( "secventa.out" );
unsigned n = 0, k = 0;
fin >> n >> k;
short b[ 500000 ];
string s;
getline( fin, s );
bool ok = false;
for ( unsigned i = 0, n = s.length(), j = 0; i < n; i += 1 )
{
if ( s[ i ] == '-' )
ok = true;
else if ( s[ i ] == ' ' )
{
if ( ok )
{
b[ j ] *= -1;
ok = false;
}
j += 1;
}
else
b[ j ] = b[ j ] * 10 + s[ i ] - '0';
}
unsigned gmin = 0;
unsigned lmin = 0;
unsigned left = 0;
ok = true;
for ( unsigned i = 0; i + k <= n; i = lmin + 1 )
{
lmin = i;
for ( unsigned j = i + 1; j < i + k; j += 1 )
if ( b[ j ] < b[ lmin ] )
lmin = j;
if ( b[ lmin ] > b[ gmin ] || ok )
{
left = i;
gmin = lmin;
}
ok = false;
}
fout << left + 1 << " " << left + k << " " << b[ gmin ];
}