有 n 名表演者排成一排表演舞龙,表演者将杆举低用 1 表示,杆举高的表演者用 2 表示。这样,所有表演者的动作可以由序列 a[1], a[2], ..., a[n] 表示。
现在你希望让舞龙表演更好看些。你选择一个区间 [l, r] (1≤l≤r≤n),然后将 a[l], a[l + 1], ..., a[r] 翻转,使得新序列的最长不下降子序列的长度尽可能大。
不下降子序列指下标为 p[1], p[2], ..., p[k] 且满足 1≤p[1]<p[2]<...<p[k]≤n, a[p[1]] ≤ a[p[2]] ≤ ... ≤ a[p[k]] 的序列。该子序列的长度为 k。