Pagini recente » Cod sursa (job #1090670) | Cod sursa (job #704919) | Cod sursa (job #2595419) | Cod sursa (job #2393333) | Cod sursa (job #918335)
Cod sursa(job #918335)
#include <cstdio>
#include <algorithm>
using namespace std;
FILE*f=fopen("cautbin.in","r");
FILE*g=fopen("cautbin.out","w");
int sir[100010];
int main()
{
int N,M,t,x;
int i,y;
fscanf(f,"%d",&N);
for(i=1;i<=N;++i)
fscanf(f,"%d",&sir[i]);
fscanf(f,"%d",&M);
for(i=1;i<=M;++i)
{
fscanf(f,"%d%d",&t,&x);
int y;
switch(t)
{
case 0:
y=upper_bound(sir+1,sir+N+1,x)-sir-1;
if(sir[y]==x)
fprintf(g,"%d\n",y);
else
fprintf(g,"-1\n");
break;
case 1:
fprintf(g,"%d\n",lower_bound(sir+1,sir+N+1,x+1)-sir-1);
break;
case 2:
fprintf(g,"%d\n",upper_bound(sir+1,sir+N+1,x-1)-sir);
break;
}
}
return 0;
}