https://www.acmicpc.net/problem/2565
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<pair<int, int>> list;
int N, answer = 500;
void solution() {
sort(list.begin(), list.end());
vector<int> arr(N,1);
for (int i = 0; i < N; i++) {
for (int k = i+1; k < N; k++) {
if (list[i].second < list[k].second && arr[k] < arr[i] + 1) {
arr[k] = arr[i] + 1;
}
}
}
int n = *max_element(arr.begin(), arr.end());
cout << N - n << endl;
}
int main() {
cin >> N;
for (int i = 0; i < N; i++) {
int a, b;
cin >> a >> b;
list.push_back({ a,b });
}
solution();
return 0;
}
'전공공부 > 코딩테스트' 카테고리의 다른 글
(c++) 백준 "9007. 카누" (0) | 2022.05.24 |
---|---|
(c++) 백준 "9625. BABBA" (0) | 2022.05.24 |
(c++) 백준 "11055. 가장 큰 증가 부분 수열" (0) | 2022.05.22 |
(c++) 백준 "2527. 직사각형" (0) | 2022.05.21 |
(c++) 프로그래머스 "빛의 경로 사이클" (0) | 2022.05.21 |