Pagini recente » Cod sursa (job #1605170) | Cod sursa (job #2156653) | Cod sursa (job #821251) | Cod sursa (job #1698119) | Cod sursa (job #1294126)
#include <algorithm>
#include <vector>
#include <set>
#include <cstdio>
using namespace std;
FILE *f=fopen("cautbin.in","r");
FILE *g=fopen("cautbin.out","w");
vector <int> v;
vector <int> ::iterator it;
int main()
{int i,j,n,m,op,x;
fscanf(f,"%d",&n);
for (i=1;i<=n;i++) {fscanf(f,"%d",&j);
v.push_back(j);}
fscanf(f,"%d",&m);
for (i=1;i<=m;i++)
{fscanf(f,"%d %d",&op,&x);
if (op==0) {it=upper_bound(v.begin(),v.end(),x);
it--;
if (*it==x) fprintf(g,"%d\n",it-v.begin()+1);
else fprintf(g,"-1\n");
}else
if (op==1) {it=lower_bound(v.begin(),v.end(),x);
if (*it!=x) it--;;
fprintf(g,"%d\n",it-v.begin()+1);
}else
{it=upper_bound(v.begin(),v.end(),x);
it--;
if (*it!=x) it++;
fprintf(g,"%d\n",it-v.begin()+1);
}
}
return 0;
}