#include <bits/stdc++.h>
using namespace std;
bool compare(pair<int,int> &a, pair<int,int> &b) {
if(a.first == b.first) {
return a.second < b.second;
} return a.first < b.first;
}
int main() {
int N;
cin >> N;
vector<pair<int,int>> arr(N);
for(int i = 0; i < N; i++) {
cin >> arr[i].first >> arr[i].second;
}
sort(arr.begin(), arr.end(), compare);
for(int i = 0; i < N; i++) {
cout << arr[i].first << " " << arr[i].second << "\n";
}
}
페어를 사용하여 sort 함수를 조금 응용하여 pair를 sort할 수 있도록 구현하였습니다. 그런데 가장 빠른 sort를 썼음에도 불구하고 자꾸 시간초과가 떠서 알아보니 end은 메모리를 비우는 무거운 작업이 포함되어 시간초과가 뜬다는 것을 알게되었습니다.
자세한 사항은 아래에 링크로 참조하겠습니다.
https://www.acmicpc.net/board/view/22716
문제: https://www.acmicpc.net/problem/11650
'Problem Solving > 백준' 카테고리의 다른 글
[백준/C++] 큐 2 / queue 구현 / 시간 단축 (0) | 2022.01.26 |
---|---|
[백준/C++] 1427번 소트인사이드 (0) | 2022.01.26 |
[백준/C++] 10828번 스택 (0) | 2022.01.24 |
[백준/C++] 8958번 OX퀴즈 (0) | 2022.01.24 |
[백준/C++] 5622번 다이얼 (0) | 2022.01.24 |