https://www.acmicpc.net/problem/10816
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(void)
{
long long N, M;
cin >> N;
vector<long long> v, compare_v;
vector<int> answer;
long long tmp;
for (int i = 0; i < N; i++)
{
cin >> tmp;
v.push_back(tmp);
}
sort(v.begin(), v.end());
cin >> M;
for (int i = 0; i < M; i++)
{
cin >> tmp;
compare_v.push_back(tmp);
}
for (int i = 0; i < M; i++)
{
auto upper = upper_bound(v.begin(), v.end(), compare_v[i]);
auto lower = lower_bound(v.begin(), v.end(), compare_v[i]);
answer.push_back(upper - lower);
}
for (auto x : answer)
{
cout << x << " ";
}
return 0;
}