Pagini recente » Cod sursa (job #1127910) | Cod sursa (job #309195) | Cod sursa (job #675470) | Cod sursa (job #38116) | Cod sursa (job #2532207)
#include <bits/stdc++.h>
using namespace std;
ifstream in;
ofstream out;
vector<int> v;
vector<int>::iterator it;
int n,x,op;
int main()
{
in.open("cautbin.in");
out.open("cautbin.out");
in>>n;
for(int i=1;i<=n;i++)
{
in>>x;
v.push_back(x);
}
in>>n;
while (n)
{
in>>op>>x;
if(op==0)
{
int poz=0;
if(binary_search(v.begin(), v.end(), x)==1)
{it=upper_bound(v.begin(), v.end(), x);
poz=distance(v.begin(), it);
if(poz==v.size())
{
if(x==v[poz-1])
out<<poz;
else
out<<"-1";
}
else
out<<poz;
}
else
out<<"-1";
}
if(op==1)
{
int poz=0;
it=upper_bound(v.begin(), v.end(), x);
poz=distance(v.begin(), it);
out<<poz;
}
if(op==2)
{
int poz=0;
it=lower_bound(v.begin(), v.end(), x);
poz=distance(v.begin(), it);
out<<poz+1;
}
out<<'\n';
n--;
}
return 0;
}