Pagini recente » Cod sursa (job #1874207) | Cod sursa (job #1242087) | Cod sursa (job #2497795) | Cod sursa (job #2568638) | Cod sursa (job #2280689)
#include <iostream>
#include <fstream>
using namespace std;
int n,m,a[100003],p,x;
int fct0(int st,int dr,int nr)
{
if(st==dr)
{
if(nr==a[st])
return st;
return -1;
}
int mij=(st+dr)/2;
if(nr>=a[mij])
return fct0(mij+1,dr,nr);
return fct0(st,mij,nr);
}
int fct1(int st,int dr,int nr)
{
if(st==dr)
return st;
int mij=(st+dr)/2;
if(nr>=a[mij])
return fct1(mij+1,dr,nr);
return fct1(st,mij,nr);
}
int fct2(int st,int dr,int nr)
{
if(st==dr)
return st;
int mij=(st+dr)/2;
if(nr>a[mij])
return fct2(mij+1,dr,nr);
return fct2(st,mij,nr);
}
int main()
{
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
fin>>n;
for(int i=1;i<=n;i++)
fin>>a[i];
fin>>m;
for(int i=0;i<m;i++)
{
fin>>p>>x;
if(p==0)
fout<<fct0(0,n-1,x)<<"\n";
else
if(p==1)
fout<<fct1(0,n-1,x)<<"\n";
else
fout<<fct2(0,n-1,x)<<"\n";
}
return 0;
}