Pagini recente » Cod sursa (job #2769262) | Cod sursa (job #2122486) | Cod sursa (job #1484470) | Cod sursa (job #2948275) | Cod sursa (job #1955197)
#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,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;
}
else if (c==1)
{
poz=cautare_binara();
fo<<poz<<"\n";
}
else
{
x--;
poz=cautare_binara()+1;
fo<<poz<<"\n";
}
}
fi.close();
fo.close();
return 0;
}