Cod sursa(job #291483)

Utilizator LuffyBanu Lavinia Luffy Data 29 martie 2009 21:53:59
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include<fstream>
#define dim 21474836
char marc[dim];
unsigned long poz[dim];
using namespace std;
int main()
{long long n,i,j,x,m,nr;
short int y;
 ifstream f("cautbin.in");
 ofstream g("cautbin.out");
 
 f>>n;
  for(i=1;i<=n;i++)
   {f>>x; marc[x]=1; poz[x]=i;}
 f>>m;
  for(i=1;i<=m;i++)
   {f>>y>>nr;
      if(y==0)
       {if(marc[nr]==1) g<<poz[nr]<<'\n';
        else g<<-1<<'\n';}
      
	  if(y==1)
        for(j=nr;j>=0;j--)
         if(marc[j]==1)  {g<<poz[j]<<'\n'; break;}

      if(y==2)
        for(j=nr;j<=21474836;j++)
         if(marc[j]==1) {g<<poz[j]<<'\n'; break;}
   }

f.close();
g.close();
return 0;
}