Pagini recente » Rating Baciu Mara Teodora (marabaciu) | Cod sursa (job #2053710) | Cod sursa (job #762529) | Cod sursa (job #2480654) | Cod sursa (job #1166311)
#include <fstream>
#define NMax 100001
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int n, v[NMax], i, st, dr, mij, nq, ty, x, sol;
int main()
{
f>>n;
for (i=1; i<=n; i++)
f>>v[i];
f>>nq;
for (i=1; i<=nq; i++) {
f>>ty>>x;
if (ty==0) {
st=1;
dr=n;
while (st<=dr) {
mij=(st+dr)/2;
if (v[mij]>x)
dr=mij-1;
else {
sol=mij;
st=mij+1;
}
}
if (v[sol]==x)
g<<sol<<"\n";
else
g<<-1<<"\n";
}
if (ty==1) {
st=1;
dr=n;
while (st<=dr) {
mij=(st+dr)/2;
if (v[mij]>x)
dr=mij-1;
else {
sol=mij;
st=mij+1;
}
}
g<<sol<<"\n";
}
if (ty==2) {
st=1;
dr=n;
while (st<=dr) {
mij=(st+dr)/2;
if (v[mij]>=x) {
sol=mij;
dr=mij-1;
}
else
st=mij+1;
}
g<<sol<<"\n";
}
}
return 0;
}