Cod sursa(job #759513)

Utilizator vlasinalinVlasin Alin vlasinalin Data 18 iunie 2012 13:17:51
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <vector>
#include <list>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <string>
#include <algorithm>
#include <iterator>
#include <iostream>
#include <cassert>
#include <fstream>

using namespace std;

vector <int> v(500001);

int minimm(int i, int k)
{
	int min = v[i];
	for(int j=1; j<k; j++)
		if( min > v[j+i] )
			min = v[j+i];

	return min;
}

int main()
{
	
	int n, k, i, bestInd = 0, maxBase, curBase;

	ifstream infile;
	infile.open("secventa.in", ios::in );

	infile >> n >> k;
	for(i=0; i<n; i++)
	{
		infile >> v[i];
	}
	infile.close();

	ofstream outfile;
	outfile.open("secventa.out", ios::out );

	maxBase = v[0];
	for(i=1; i<=(n-k); i++)
	{
		curBase = minimm(i,k);
		if (maxBase < curBase)
		{
			maxBase = curBase;
			bestInd = i;
		}
	}

	outfile << bestInd + 1 << " " << bestInd + k << " " << maxBase;

	outfile.close();

	return 0;
}