Pagini recente » Cod sursa (job #1092796) | Cod sursa (job #1430549) | Cod sursa (job #2281260) | Cod sursa (job #2020911) | Cod sursa (job #1445856)
#include <fstream>
#define MAX 100001
using namespace std;
int v[MAX],n,m,x;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int cautbin01()
{
int st=1,dr=n,mij;
while(st<=dr)
{
mij=(st+dr)/2;
if(v[mij]<=x)
st=mij+1;
else
dr=mij-1;
}
return dr;
}
int cautbin02()
{
int st=1,dr=n,mij;
while(st<=dr)
{
mij=(st+dr)/2;
if(v[mij]<x)
st=mij+1;
else
dr=mij-1;
}
return st;
}
int main()
{
f>>n;
int i;
for(i=1;i<=n;i++)
f>>v[i];
f>>m;
int t;
for(i=1;i<=m;i++)
{
f>>t>>x;
if(t<2)
{
int rezultat=cautbin01();
if (t==0 && v[rezultat]!=x)
g<<"-1\n";
else
g<<rezultat<<"\n";
}
else
g<<cautbin02();
}
}