ソースコード
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <algorithm>
#include <utility>
#include <functional>
#include <cstring>
#include <queue>
#include <stack>
#include <math.h>
#include <iterator>
#include <vector>
#include <string>
#include <set>
#include <math.h>
#include <iostream>
#include <random>
#include<map>
#include <iomanip>
#include <time.h>
#include <stdlib.h>
#include <list>
#include <typeinfo>
#include <list>
#include <set>
using namespace std;
#define eps 0.000000001
#define LONG_INF 10000000000000000
#define GOLD 1.61803398874989484820458
#define MAX_MOD 1000000007
#define REP(i,n) for(long long i = 0;i < n;++i)
int main() {
long long n;
cin >> n;
vector<long long> a;
REP(i, n) {
long long hoge;
cin >> hoge;
a.push_back(hoge);
}
a.push_back(2000000000);
int q;
cin >> q;
for (int i = 0;i < q;++i) {
long long A;
cin >> A;
long long top = a.size() - 1;
long long bot = 0;
while (top - bot > 1) {
long long mid = (top + bot) / 2;
if (a[mid] >= A) {
top = mid;
}
else {
bot = mid;
}
}
if (a[bot] >= A) {
cout << a.size() - bot - 1 << endl;
}
else {
cout << a.size() - top - 1 << endl;
}
}
return 0;
}