Cod sursa(job #955087)

Utilizator ScoobyDoo38Nita Adrian Valentin ScoobyDoo38 Data 30 mai 2013 20:42:02
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#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 ];
}