Cod sursa(job #513120)

Utilizator alexdmotocMotoc Alexandru alexdmotoc Data 15 decembrie 2010 09:36:36
Problema Cautare binara Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include<iostream>
#include<fstream>
using namespace std;

ifstream f("cautbin.in");
ofstream g("cautbin.out");
	
void unu (long long x[100], long long n, long long a)
{
	long long i,poz=0;
	for(i=1;i<=n;i++)
		if(a==x[i])
			poz=i;
	if(poz==0)
		g<<-1<<'\n';
	else g<<poz<<'\n';
}
void doi (long long x[100], long long n, long long a)
{
	long long i,poz=0;
	for(i=1;i<=n;i++)
		if(x[i]<=a)
			poz=i;
		
	g<<poz<<'\n';
}
void trei(long long x[100], long long n, long long a)
{
	long long i,poz=0;
	for(i=1;i<=n;i++)
		if(x[i]>=a)
		{
 			poz=i;
			break;
		}
	g<<poz<<'\n';
}
int main()
{
	
	
	long long x[100],n,i,a[100],m,intreb[100];
	f>>n;
	for(i=1;i<=n;i++)
		f>>x[i];
	f>>m;
	for(i=1;i<=m;i++)
		f>>intreb[i]>>a[i];
	
	for(i=1;i<=m;i++)
	{
		if(intreb[i]==0) unu(x, n, a[i]);
		if(intreb[i]==1) doi(x, n, a[i]);
		if(intreb[i]==2) trei(x, n, a[i]);
	}
	
	return 0;
}