알고리즘

[백준/이분탐색/C++] 10816번 숫자 카드 2 (upper_bound, lower_bound 사용)

데메즈 2023. 1. 3. 13:40
728x90
반응형

https://www.acmicpc.net/problem/10816

 

10816번: 숫자 카드 2

첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,

www.acmicpc.net

upper_bound(), lower_bound()
 

[C++] lower_bound, upper_bound (이진탐색)/ 예제

헤더파일 #include lower_bound 찾으려는 value 값보다 같거나 큰 숫자가 배열에서 처음 등장하는 위치 리턴 사용 조건 : 탐색을 진행할 배열 또는 벡터가 오름차순 정렬되어 있어야 함 사용법 lower_bound(

develop-me-z.tistory.com

#include <bits/stdc++.h>

using namespace std;

int n, m;
vector<long long int> a, b;

int main(void) {
    ios::sync_with_stdio(0);
    cin.tie(0);

    cin >> n;
    for(int i=0; i<n; i++){
        long long int x;
        cin >> x;
        a.push_back(x);
    }
    sort(a.begin(), a.end());

    cin >> m;
    for(int i=0; i<m; i++){
        long long int x;
        cin >> x;
        b.push_back(x);
    }

    for(int i : b){
        int x = upper_bound(a.begin(), a.end(), i) - lower_bound(a.begin(), a.end(), i);
        cout << x << " ";
    }

    return 0;
}

https://develop-me-z.tistory.com/114

728x90
반응형