Cod sursa(job #236769)

Utilizator shnakoVlad Schnakovszki shnako Data 28 decembrie 2008 14:34:04
Problema Cautare binara Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream.h>
ifstream f("cautbin.in");
ofstream g("cautbin.out");
long i, v[100001], x, n, m, sw;

int zero (long k)
{
x=n;
while (v[x]>k)
	x--;
if (v[x]==k)
	return x;
else
	return -1;
}

int unu (long k)
{
x=1;
while (v[x]<=k)
	x++;
return x-1;
}

int doi (long k)
{
x=n;
while (v[x]>=k)
	x--;
return x+1;
}

int main()  
{  
long k;  
f>>n;  
for (i=1;i<=n;i++)
    f>>v[i];  
f>>m;  
for (i=1;i<=m;i++)  
    {  
   f>>sw>>k;  
   if (!sw)  
    g<<zero(k)<<"\n";  
   else  
    if (sw==1)  
        g<<unu(k)<<"\n";  
      else  
        g<<doi(k)<<"\n";  
   }  
f.close();  
g.close();  
return 0;  
}