Pagini recente » Cod sursa (job #112207) | Cod sursa (job #1308213) | Cod sursa (job #1541741) | Cod sursa (job #1650539) | Cod sursa (job #727539)
Cod sursa(job #727539)
#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<algorithm>
#define lmax 100100
using namespace std;
FILE *f=fopen("cautbin.in","r"),*g=fopen("cautbin.out","w");
int a[lmax],n,m,tip,val,j;
void read()
{
int i;
fscanf(f,"%d",&n);
for(i=1; i<=n; i++)
fscanf(f,"%d",&a[i]);
fscanf(f,"%d",&m);
for(i=1; i<=m; i++)
{
fscanf(f,"%d %d",&tip,&val);
if(tip==0)
{
j=upper_bound(a+1,a+n+1,val)-a-1;
if(j<=n && j>=1 && a[j]==val)
fprintf(g,"%d\n",j);
else
fprintf(g,"-1\n");
}
else if(tip==1)
{
j=lower_bound(a+1,a+n+1,val+1)-a-1;
fprintf(g,"%d\n",j);
}
else
{
j=upper_bound(a+1,a+n+1,val-1)-a;
fprintf(g,"%d\n",j);
}
}
}
int main()
{
read();
fclose(f);
fclose(g);
return 0;
}