Pagini recente » Cod sursa (job #1155092) | Cod sursa (job #2069764) | Cod sursa (job #2149157) | Cod sursa (job #1551057) | Cod sursa (job #769844)
Cod sursa(job #769844)
#include<fstream>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int n,k,v[100010],x,a,j,i,s,m;
int main ()
{
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
f>>k;
for(j=1;j<=k;j++)
{
f>>a;
f>>x;
if(a==0)
{
i=1;
s=n;
while(i<=s)
{
m=(i+s)/2;
if(v[m]<=x)
i=m+1;
else
s=m-1;
}
if(v[m]>x)
m--;
if(v[m]==x)
g<<m<<"\n";
else
g<<"-1"<<"\n";
}
if(a==1)
{
i=1;
s=n;
while(i<=s)
{
m=(i+s)/2;
if(v[m]<=x)
i=m+1;
else
s=m-1;
}
if(v[m]>x)
m--;
g<<m<<"\n";
}
if(a==2)
{
i=1;
s=n;
while(i<=s)
{
m=(i+s)/2;
if(v[m]<x)
i=m+1;
else
s=m-1;
}
if(v[m]<x)
m++;
g<<m<<"\n";
}
}
f.close();g.close();
return 0;
}