이 튜토리얼에서는 C++ STL에서 set을 사용하여 오른쪽에 있는 작은 요소를 세는 프로그램에 대해 논의할 것입니다.
이를 위해 배열이 제공됩니다. 우리의 임무는 새로운 배열을 구성하고 현재 요소의 오른쪽에 더 작은 수의 요소를 해당 위치에 추가하는 것입니다.
예시
#include <bits/stdc++.h> using namespace std; void count_Rsmall(int A[], int len){ set<int> s; int countSmaller[len]; for (int i = len - 1; i >= 0; i--) { s.insert(A[i]); auto it = s.lower_bound(A[i]); countSmaller[i] = distance(s.begin(), it); } for (int i = 0; i < len; i++) cout << countSmaller[i] << " "; } int main(){ int A[] = {12, 1, 2, 3, 0, 11, 4}; int len = sizeof(A) / sizeof(int); count_Rsmall(A, len); return 0; }
출력
6 1 1 1 0 1 0