Pagini recente » Monitorul de evaluare | fmi-no-stress-9-warmup/solutii | Cod sursa (job #3208051) | Cod sursa (job #1728554) | Cod sursa (job #306052)
Cod sursa(job #306052)
#include<fstream>
#define dmax 100002
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int sir[dmax],n,m,tip,nr;
int bs(int st,int dr)
{ int mid;
if((abs(st-dr)==1)||(st==dr))
{ if(tip==1)return st;
else if(tip==2)return dr;
}
else
mid=(st+dr)/2;
if(sir[mid]==nr)return mid;
else if(sir[mid]>nr)return bs(st,mid);
else if(sir[mid]<nr)return bs(mid,dr);
}
int main()
{ int i;
in>>n;
for(i=1;i<=n;i++)
in>>sir[i];
in>>m;
for(i=1;i<=m;i++)
{ in>>tip>>nr;
out<<bs(1,n)<<'\n';
}
in.close();
out.close();
return 0;
}