Pagini recente » Cod sursa (job #636394) | Cod sursa (job #2043334) | Cod sursa (job #2304868) | Cod sursa (job #2064119) | Cod sursa (job #580699)
Cod sursa(job #580699)
#include<stdio.h>
#include<algorithm>
using namespace std;
FILE *in,*out;
int n,m,i,tip,val,x;
int v[100001];
int main()
{
in=fopen("cautbin.in","rt");
out=fopen("cautbin.out","wt");
fscanf(in,"%d",&n);
for(i=1;i<=n;i++)
fscanf(in,"%d",&v[i]);
fscanf(in,"%d",&m);
while(m--)
{
fscanf(in,"%d %d",&tip,&val);
if(!tip)
{
x = upper_bound(v + 1, v + n + 1, val) - v - 1;
if (x <= n && x >= 1 && v[x] == val)
fprintf(out,"%d\n",x);
else
fprintf(out,"-1\n");
}
if(tip==1)
{
x = lower_bound(v + 1, v + n + 1, val + 1) - v - 1;
fprintf(out,"%d\n",x);
}
if(tip==2)
{
x = upper_bound(v + 1, v + n + 1, val - 1) - v;
fprintf(out,"%d\n",x);
}
}
return 0;
}