题解 | #合唱队#
合唱队
http://www.nowcoder.com/practice/6d9d69e3898f45169a441632b325c7b4
class choir: def left_max(l): ans = [1]*len(l) for i in range(len(l)): for j in range(i): if l[j]<l[i] and ans[j]+1>ans[i]: ans[i] = ans[j]+1 return ans def right_max(l): ans = [1]*len(l) for i in range(len(l)-1,-1,-1): for j in range(i+1,len(l)): if l[j]<l[i] and ans[j]+1>ans[i]: ans[i] = ans[j]+1 return ans try: while True: n = int(input()) height = list(map(int, input().split())) left_num = left_max(height) right_num = right_max(height) sum_num = [] for i in range(len(left_num)): sum_num.append(left_num[i]+right_num[i]) print(n-max(sum_num)+1) except: pass