Pagini recente » Cod sursa (job #926522) | Cod sursa (job #1252704) | Cod sursa (job #922096) | Cod sursa (job #700012) | Cod sursa (job #2510655)
#include <fstream>
using namespace std;
ifstream fi("cautbin.in");
ofstream fo("cautbin.out");
int n,X[100001],c,x,m,i,poz;
int cautare_binara()
{
///cautam pe x in X
int st=1,dr=n+1,mij;
while (dr-st>1)
{
mij=(st+dr)/2;
if (x>=X[mij])
st=mij;
else
dr=mij;
}
return st;
}
int main()
{
fi>>n;
for (i=1; i<=n; i++)
fi>>X[i];
fi>>m;
for (i=1; i<=m; i++)
{
fi>>c>>x;
if (c==0)
{
poz=cautare_binara();
if (X[poz]==x)
fo<<poz<<"\n";
else
fo<<-1<<"\n";
}
else if (c==1)
{
poz=cautare_binara();
fo<<poz<<"\n";
}
else
{
x--;
if (x<X[1])
poz=1;
else
poz=cautare_binara()+1;
fo<<poz<<"\n";
}
}
fi.close();
fo.close();
return 0;
}