Pagini recente » Cod sursa (job #2034653) | Cod sursa (job #2021060) | Cod sursa (job #2233780) | Cod sursa (job #1620194) | Cod sursa (job #991040)
Cod sursa(job #991040)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int main()
{
int z[100001],*p,i,j,val,n,m,x,*ind;
f>>n;
for(i=1;i<=n;i++)
f>>z[i];
f>>m;
for(i=1;i<=m;i++)
{
f>>j>>val;
if(j==0)
{ind=upper_bound(z+1,z+n+1,val);
if(*(ind-1)==val)
g<<ind-z-1<<'\n';
else
g<<-1;}
else
if(j==1)
{ind=upper_bound(z+1,z+n+1,val);
if(ind-z>1&&*(ind-1)==val)
g<<ind-z-1<<'\n';
else
g<<ind-z;}
else
if(j==2)
{ind=lower_bound(z+1,z+n+1,val);
if(*ind==val)
g<<ind-z;}
}
f.close();
g.close();
return 0;
}