Pagini recente » Cod sursa (job #164488) | Cod sursa (job #3135444) | Cod sursa (job #143723) | Cod sursa (job #320474) | Cod sursa (job #869250)
Cod sursa(job #869250)
#include<stdio.h>
#include<algorithm>
using namespace std;
FILE *in,*out;
bool mygreater (int i,int j) { return (i>j); }
int n,m,tip,val,v[100100],x;
int main(void)
{
in=fopen("cautbin.in","rt");
out=fopen("cautbin.out","wt");
fscanf(in,"%d",&n);
for(int i=0;i<n;++i)
fscanf(in,"%d",&v[i]);
fscanf(in,"%d",&m);
for(int i=1;i<=m;++i)
{
fscanf(in,"%d%d",&tip,&val);
if(tip==0)
{
x=upper_bound(v,v+n,val)-v;
if (x <= n && x >= 1 && v[x-1] == val)
fprintf(out,"%d\n",x);
else
fprintf(out,"-1\n");
}
else
if(tip==1)
{
x = lower_bound(v , v + n , val + 1) - v ;
fprintf(out,"%d\n",x);
}
else
{
x = upper_bound(v , v + n , val- 1) - v+1;
fprintf(out,"%d\n", x);
}
}
fclose(in);
fclose(out);
return 0;
}