#include <algorithm>
#include <iostream>
#include <set>
 
using namespace std;
 
struct cmp {
  bool operator()(const pair<intint> &lhs, const pair<intint> &rhs) {
    return lhs.first < lhs.first || (lhs.first == rhs.first && lhs.second < rhs.second);
  }
};
 
int main () {
  set<pair<intint>, cmp> test1;
  set<pair<intint>> test2;
 
  test1.insert({299});
  test1.insert({5100});
  test1.insert({100100});
 
  cout << "test1 elements: \n";
  for (auto e : test1) cout << e.first << " " << e.second << "\n";
 
  test2.insert({299});
  test2.insert({5100});
  test2.insert({100100});
 
  cout << "test2 elements: \n";
  for (auto e : test2) cout << e.first << " " << e.second << "\n";
 
  return 0;
}
cs





test1이 test2랑 똑같이 나와야 되는거 아님???

multiset으로도 테스트 해봤는데, 왜 key값이 같은거처럼 동작하는거지??