Pagini recente » Cod sursa (job #2435588) | Cod sursa (job #1164598) | Cod sursa (job #1245695) | Cod sursa (job #54424) | Cod sursa (job #945880)
Cod sursa(job #945880)
#include <fstream>
using namespace std;
int step,n,i,m,val,a[100001],nr,j;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
void citire( )
{
f>>n;
for (i=1;i<=n;i++)
f>>a[i];
}
int main()
{
citire();
f>>m;
for (j=1;j<=m;j++)
{
f>>nr>>val;
for (step = 1; step < n; step <<= 1);
for (i = 0; step; step >>= 1)
if (i + step <= n && a[i + step] <= val)
i += step;
if (nr==0){
if (a[i]!=val) g<<"-1"<<'\n';
else g<<i<<'\n';
}
if (nr==1) g<<i<<'\n';
if (nr==2) g<<i+1<<'\n';
}
return 0;
}