Cod sursa(job #452779)

Utilizator iulishorIulian Popescu iulishor Data 10 mai 2010 19:52:11
Problema Cautare binara Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<fstream.h>
#include<math.h>
int a[1000],n,m,i,j,nr,x,y,pmax,pmin;
int main()
{
	ifstream f("cautbin.in");
	ofstream g("cautbin.out");
	f>>n;
	for(i=1;i<=n;i++)
		f>>a[i];
	f>>m;
	for(i=1;i<=m;i++)
	{
		f>>x>>y;
		if(x==0)
		{
			nr=0;pmax=0;
			while(nr<=n)
			{
				nr++;
				if(a[nr]==y&&nr>=pmax)
					pmax=nr;
			}
			if(pmax>0)
				g<<pmax<<"\n";
			else
				g<<-1<<"\n";
		}
		if(x==1)
		{
			nr=n;pmax=0;
			while(nr>=1)
			{
				if(a[nr]<=y&&nr>=pmax)
					pmax=nr;
				nr--;
			}
			g<<pmax<<"\n";
		}
		if(x==2)
		{
			nr=0;pmin=n;
			while(nr<=n)
			{
				nr++;
				if(a[nr]>=y&&nr<pmin)
					pmin=nr;
			}
			g<<pmin<<"\n";
		}
	}
	return 0;
}