Pagini recente » Cod sursa (job #2837417) | Cod sursa (job #585310) | Cod sursa (job #1995102) | Cod sursa (job #1919934) | Cod sursa (job #1126265)
#include <fstream>
using namespace std;
int N, a[100];
int bin(int val)
{
int i, step;
for (step = 1; step < N; step <<= 1);
for (i = 0; step; step >>= 1)
if (i + step < N && a[i + step] <= val)
i += step;
return i;
}
int bin1(int val)
{
int i, step;
for (step = 1; step < N; step <<= 1);
for (i = 0; step; step >>= 1)
if (i + step < N && a[i + step] < val)
i += step;
return i+1;
}
int main()
{
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
fin>>N;
int n;
for(int i=1; i<=N; i++)
fin>>a[i];
fin>>n;
for(int i=1; i<=n; i++)
{
int x,y,z;
fin>>x>>y;
if(x<2){
z=bin(y);
if(!x)
if(a[z]!=y)
fout<<-1<<"\n";
else fout<<z<<"\n";
else
fout<<z<<"\n";
}
else
fout<<bin1(y)<<"\n";
}
fin.close();
fout.close();
return 0;
}