Cod sursa(job #709197)

Utilizator ady_92cChioran Adrian ady_92c Data 7 martie 2012 19:54:20
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
//============================================================================
// Name        : sq.cpp
// Author      : 
// Version     :
// Copyright   : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================

#include <iostream>
#include <fstream>
using namespace std;



int findmax(long int v[],int p){
	long int max=0;
	for (int i=0;i<p;i++){
		if (v[max]<v[i]){
			max=i;
		}

	}
	return max;
}



int main(){
	ifstream f("secventa.in");
	ofstream g("secventa.out");
	int n,k;
	f>>n >>k;
	long int v[n];
	for (int i=0;i<n;i++){
		f>>v[i];
	}
	long int max=0;
	max = findmax(v,n-k+1);
	long int i=0;
	long int tr=0;
	while (i<k and tr==0){
		if (v[max-i]<v[max+i]){
			tr=-1;
		}
		else if (v[max+i]<v[max-i]){
			tr=+1;
		}
		i++;
	}
	int dir;


	if (v[max]<v[max+(k-1)*tr]){
			dir= max+(k-1)*tr;
			tr=-1;
		}
	else {
		dir=max;
		tr=1;
	}

	for (int i=0;(i<k and i>-k);i=i+tr){

		if (tr<0){
			g <<v[max+(k-1)*tr+i];
		}
		if (tr>0){
			g <<v[max+i];
		}
	}
	f.close();
	g.close();

}