MATCHORDER (하, p. 371)
문제#

어떻게 풀었나?#
rating 순서로 정렬해서 러시아팀의 각 선수들 rating보다 같거나 큰 rating을 가진 rating이 가장 가까운 한국 선수들을 matching해주면 된다고 생각했다.

정답 코드#
#include <bits/stdc++.h>
using namespace std;
vector<int> russia, korea;
int main() {
ios::sync_with_stdio(false); cin.tie(0);
int tc; cin >> tc;
while(tc--) {
int n; cin >> n;
int x;
russia.clear();
korea.clear();
for(int i=0; i<n; i++) {
cin >> x;
russia.push_back(x);
}
for(int i=0; i<n; i++) {
cin >> x;
korea.push_back(x);
}
sort(russia.begin(), russia.end());
sort(korea.begin(), korea.end());
int cnt=0,k=0;
for(int i=0; i<russia.size(); i++) {
auto it = lower_bound(korea.begin()+k, korea.end(), russia[i]);
if(it == korea.end()) continue;
k = (it-korea.begin())+1;
cnt++;
}
printf("%d\n", cnt);
}
return 0;
}