Pagini recente » Cod sursa (job #148746) | Cod sursa (job #2482617) | Cod sursa (job #1838804) | Cod sursa (job #1152479) | Cod sursa (job #1769445)
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <vector>
using namespace std;
int x;
int v[100100];
int main()
{
int n;
int m;
int xx;
FILE *f=fopen("cautbin.in","r");
FILE *g=fopen("cautbin.out","w");
fscanf(f,"%d",&n);
for(int i=1; i<=n; i++)
{
fscanf(f,"%d",&v[i]);
}
sort(v+1,v+n+1);
int y;
fscanf(f,"%d",&m);
int p;
for(int ii=1; ii<=m; ii++)
{
fscanf(f,"%d",&p);
fscanf(f,"%d",&x);
if(p==0)
{
y=upper_bound(v+1,v+n+1,x)-v-1;
if(y<=n && y>=1 && v[y]==x)
fprintf(g,"%d\n",y);
else
fprintf(g,"-1\n");
}
else if(p==1)
{
y=lower_bound(v+1,v+n+1,x+1)-v-1;
fprintf(g,"%d\n",y);
}
else
{y=upper_bound(v+1,v+n+1,x-1)-v; fprintf(g,"%d\n",y); }
}
return 0;
}