#include #include #include using namespace std; int upper_bound_index(vector &a, int n, int x) { int l = 0; int d = n-1; int s; while(l<=d) { s = l + (d-l)/2; if(a[s] < x) { l = s+1; } else { d = s-1; } } return l; } int main() { int n, m; cin >> n >> m; vector prate(m); for(int &x : prate) cin >> x; sort(begin(prate), end(prate)); int r; cin >> r; int milos; vector broj_ljudi(r); for(int &raspored : broj_ljudi) { cin >> milos; if(m == 0) { cout << n << endl; } int gornje_ogranicenje = upper_bound_index(prate, m, milos); int dole; int gore; if(gornje_ogranicenje <= 0) { dole = 0; gore = prate[0]; } else if (gornje_ogranicenje >= m) { dole = prate[m-1]; gore = n+1; } else { dole = prate[gornje_ogranicenje-1]; gore = prate[gornje_ogranicenje]; } raspored = gore - dole - 1; } for(int &el : broj_ljudi) cout << el << endl; }