Pagini recente » Cod sursa (job #318595) | Cod sursa (job #2946716) | Cod sursa (job #317676) | Cod sursa (job #871536) | Cod sursa (job #1324219)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int a[100005];
int main()
{
int n,m,i,j,t,r,p;
fin>>n;
for(i=1;i<=n;i++)
fin>>a[i];
sort(a+1,a+n+1);
fin>>m;
for(i=1;i<=m;i++)
{
fin>>t>>r;
if(t==0)
{
p= upper_bound(a + 1, a + n + 1, r) - a - 1;
if (p <= n && p >= 1 && a[p] == r) fout<<p<<"\n";
else fout<<"-1\n";
}
else if(t==1)
{
if(r>=a[n]) fout<<n<<"\n";
else
{
p = lower_bound(a + 1, a + n + 1, r + 1) - a - 1;
fout<<p<<"\n";
}
}
else
{
p = upper_bound(a+1,a+n+1,r-1)-a;
fout<<p<<"\n";
}
}
fout.close();
return 0;
}