Cod sursa(job #293330)

Utilizator LuffyBanu Lavinia Luffy Data 1 aprilie 2009 16:27:09
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include<fstream>   
#define dim 9999999   
char marc[dim];   
int 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<=10000001;j++)   
         if(marc[j]==1) {g<<poz[j]<<'\n'; break;}   
   }   
  
f.close();   
g.close();   
return 0;   
}