본문 바로가기
전공공부/코딩테스트

(c++) 백준 "2565. 전깃줄"

by 시아나 2022. 5. 23.

https://www.acmicpc.net/problem/2565

 

2565번: 전깃줄

첫째 줄에는 두 전봇대 사이의 전깃줄의 개수가 주어진다. 전깃줄의 개수는 100 이하의 자연수이다. 둘째 줄부터 한 줄에 하나씩 전깃줄이 A전봇대와 연결되는 위치의 번호와 B전봇대와 연결되는

www.acmicpc.net


#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;
}