Pagini recente » Cod sursa (job #2776241) | Cod sursa (job #2359063) | Cod sursa (job #2692150) | Cod sursa (job #1625049) | Cod sursa (job #477246)
Cod sursa(job #477246)
#include <cstdio>
#include <algorithm>
using namespace std;
FILE*f=fopen("cautbin.in","r");
FILE*g=fopen("cautbin.out","w");
int N,sir[100005],M;
int main(){
fscanf(f,"%d ",&N);
for(int i=1;i<=N;i++){
fscanf(f,"%d ",&sir[i]);
}
fscanf(f,"%d ",&M);
int tip,x,ans;
for(;M;M--){
fscanf(f,"%d %d",&tip,&x);
switch (tip){
case 0: ans = ( upper_bound (sir + 1, sir + N + 1, x) - ( sir + 1 ));
fprintf(g,"%d\n", sir[ans]==x ? ans : -1 );
break;
case 1: fprintf(g,"%d\n",( upper_bound (sir + 1, sir + N + 1, x) - ( sir + 1 )));
break;
case 2: fprintf(g,"%d\n",( lower_bound (sir + 1, sir + N + 1, x) - ( sir + 1 ))+1);
break;
}
}
fclose(f);
fclose(g);
return 0;
}