b에 해당하는 값들 중 차례대로 증가하는 부분수열을 찾으면 교차하는 전깃즐이 없는 것들이 된다.
그래서 (전체 전깃줄의 수) - (가장 긴 증가하는 부분수열) 을 하면 답이 된다.
소스코드
import sys
input = sys.stdin.readline
n = int(input())
data = [list(map(int,input().split())) for _ inrange(n)]
data.sort(key = lambda x:x[0])
dp = [1] * n
# 가장 긴 증가하는 부분수열 찾기for i inrange(n):
for j inrange(i):
if data[i][1] > data[j][1]:
dp[i] = max(dp[i], dp[j] + 1)
print(n - max(dp))
b에 해당하는 값들 중 차례대로 증가하는 부분수열을 찾으면 교차하는 전깃즐이 없는 것들이 된다.
그래서 (전체 전깃줄의 수) - (가장 긴 증가하는 부분수열) 을 하면 답이 된다.
소스코드
import sys
input = sys.stdin.readline
n = int(input())
data = [list(map(int,input().split())) for _ inrange(n)]
data.sort(key = lambda x:x[0])
dp = [1] * n
# 가장 긴 증가하는 부분수열 찾기for i inrange(n):
for j inrange(i):
if data[i][1] > data[j][1]:
dp[i] = max(dp[i], dp[j] + 1)
print(n - max(dp))