Pagini recente » Cod sursa (job #2823393) | Cod sursa (job #784042) | Cod sursa (job #841789) | Cod sursa (job #672682) | Cod sursa (job #907671)
Cod sursa(job #907671)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int n,m,a,k,x,v[100001];
int main ()
{
f>>n;
for(int i=1;i<=n;i++)
f>>v[i];
f>>m;
for(int i=1;i<=m;i++)
{
f>>a;
f>>k;
if(a==0)
{
x=upper_bound(v+1,v+n+1,k)-(v+1);
if(x>=1 && x<=n && v[x]==k)
g<<x<<"\n";
else
g<<"-1\n";
}
else if(a==1)
{
x=lower_bound(v+1,v+n+1,k+1)-(v+1);
g<<x<<"\n";
}
else if(a==2)
{
x=upper_bound(v+1,v+n+1,k-1)-v;
g<<x<<"\n";
}
}
f.close();g.close();
return 0;
}