[215007][伯俊/BOJ]10816号デジタルカード2
1079 ワード
質問する
にゅうしゅつりょく
に答える
upper boundは関数で、検索する値よりも大きい位置を返します.
lower boundは、検索する値以上の最初の位置を返す関数です.
upper bound-low boundを使用すると、重複する値がいくつあるかがわかります.
コード#コード#
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
int n, m, num;
cin >> n;
vector<int> V(n);
for (int i = 0; i < n; ++i) cin >> V[i];
sort(V.begin(), V.end());
cin >> m;
for (int i = 0; i < m; ++i)
{
cin >> num;
// upper_bound는 찾고자 하는 값보다 큰 값이 처음 나오는 위치
// lower_bound는 찾고자 하는 값 이상이 처음 나오는 위치
cout << upper_bound(V.begin(), V.end(), num) - lower_bound(V.begin(), V.end(), num) << ' ';
}
}
Reference
この問題について([215007][伯俊/BOJ]10816号デジタルカード2), 我々は、より多くの情報をここで見つけました https://velog.io/@kwkim95/210505백준BOJ-10816번-숫자-카드-2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol