Pagini recente » Cod sursa (job #2940026) | Cod sursa (job #2929521) | Cod sursa (job #2492946) | Cod sursa (job #1742207) | Cod sursa (job #1077668)
#include <fstream>
using namespace std;
ifstream in ("cautbin.in");
ofstream out ("cautbin.out");
int main()
{
int u, p, n, m, v[n], mijloc, tip, val;
in>>n;
for(int i=1;i<=n; i++)
in>>v[i];
in>>m;
while(m--)
{
in>>tip>>val;
if(tip==0)
{
p=1;
u=m;
while (p<u-1)
{mijloc=(p+u)/2;
if(v[mijloc]<=val)
p=mijloc;
else u=mijloc;
}
if(v[p]==val)
out<<p<<endl;
else out<<-1<<endl;
}
if(tip==1)
{
p=1;
u=m;
while(p<u-1)
{
mijloc=(p+u)/2;
if(v[mijloc]<=val)
p=mijloc;
else u=mijloc;
}
out<<p<<endl;
}
if(tip==2)
{
p=1;
u=n;
while(p<u-1)
{
mijloc=(p+u)/2;
if(v[mijloc]>=val)
p=mijloc;
else u=mijloc;
}
out<<p<<endl;
}
}
return 0;
}