题解 | 合唱队形

合唱队形

https://www.nowcoder.com/practice/0045cd3e39634a66ada63c2adeb49234

import sys

n = int(input())

arr = list(map(int,input().split()))
rarr = arr[::-1]
dpn = [1 for _ in range(n)]
dpm = [1 for _ in range(n)]

for i in range(1,n):
    for j in range(i):
        if arr[i] > arr[j]:
            dpn[i] = max(dpn[i],dpn[j]+1)
for i in range(1,n):
    for j in range(i):
        if rarr[i] > rarr[j]:
            dpm[i] = max(dpm[i],dpm[j]+1)
    
dp = result = [x + y for x, y in zip(dpn, dpm[::-1])]
res = (n+1)-max(dp)
print(res)



   

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务