Pagini recente » Cod sursa (job #995481) | Cod sursa (job #638601) | Cod sursa (job #2585809) | Cod sursa (job #44630) | Cod sursa (job #2687027)
#include <fstream>
using namespace std;
ifstream fin ("cautbin.in");
ofstream fout ("cautbin.out");
const int NMAX=1005;
int v[NMAX];
int main()
{
int n,m,j,x,pas,lim,i,st,dr,val;
fin>>n;
lim=1;
while(2*lim<=n)
{
lim=lim*2;
}
for(i=1;i<=n;i++)
fin>>v[i];
fin>>m;
while(m--)
{
fin>>j>>val;
st=0;
if(j==0)
{
for(pas=lim;pas>0;pas=pas/2)
if((st|pas)<=n)
if(v[st|pas]<=val)
st=st|pas;
if(v[st]==val)
fout<<st<<"\n";
}
if(j==1)
{
for(pas=lim;pas>0;pas=pas/2)
if((st|pas)<=n)
if(v[st|pas]<=val)
st=st|pas;
fout<<st<<"\n";
}
if(j==2)
{
for(pas=lim;pas>0;pas=pas/2)
if((st|pas)<=n)
if(v[st|pas]<=val-1)
st=st|pas;
fout<<st+1<<"\n";
}
}
return 0;
}