-
11054번: 가장 긴 바이토닉 부분 수열
첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000)
www.acmicpc.net
코드
n = int(input()) li = list(map(int, input().split())) r_li = list(reversed(li)) s=[0 for i in range(n)] r=[0 for i in range(n)] for i in range(n): for j in range(i): if li[j] < li[i] and s[j] > s[i]: s[i] = s[j] if r_li[j] < r_li[i] and r[j] > r[i]: r[i] = r[j] s[i] += 1 r[i] += 1 r_r = list(reversed(r)) answer = [0 for i in range(n)] for i in range(n): answer[i] = s[i] + r_r[i] -1 print(max(answer))
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 9251번 LCS (파이썬) (0) 2022.01.02 [백준] 2565번 전깃줄 (파이썬) (0) 2022.01.02 [백준] 11053번 가장 긴 증가하는 부분 수열 (파이썬) (0) 2022.01.01 [백준] 2156번 포도주 시식 (파이썬) (0) 2022.01.01 [백준] 10844번 쉬운 계단 수 (파이썬) (0) 2022.01.01