


코드
#include <iostream>
#include <algorithm>
#include <vector>
int lower_bound(std::vector<int>& _numvector, int _num)
{
int st = 0;
int en = _numvector.size();
while (st < en)
{
int mid = (st + en)/2;
if (_numvector[mid] < _num)
{
st = mid + 1;
}
else
{
en = mid;
}
}
return st;
}
int upper_bound(std::vector<int>& _numvector, int _num)
{
int st = 0;
int en = _numvector.size();
while (st < en)
{
int mid = (st + en) / 2;
if (_numvector[mid] <= _num)
{
st = mid + 1;
}
else
{
en = mid;
}
}
return st;
}
int main()
{
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
std::vector<int> numvector;
int n, m;
std::cin >> n;
numvector.resize(n);
for (int i = 0; i < n; i++)
{
int num;
std::cin >> num;
numvector[i] = num;
}
std::sort(numvector.begin(), numvector.end());
std::cin >> m;
for (int i = 0; i < m; i++)
{
int num;
std::cin >> num;
int a = upper_bound(numvector, num);
int b = lower_bound(numvector, num);
std::cout << upper_bound(numvector, num) - lower_bound(numvector, num) << " ";
}
numvector.clear();
}
'C++ > 백준 C++' 카테고리의 다른 글
| C++ 14501 퇴사 (백준)- DFS (0) | 2024.09.08 |
|---|---|
| C++ 18312 시각 (0) | 2024.09.08 |
| [C/C++] 백준 14425번 문자열 집합 (0) | 2024.05.31 |
| [C/C++] 백준 10815번 숫자 카드 (0) | 2024.05.31 |
| [C/C++] 백준 2559번 수열 (0) | 2024.05.30 |