给定数组arr,返回arr的最长递增子序列
dp[i]为以i位置的数结尾的情况下,最长递增子序列长度
#coding=utf-8
while True:
try:
arr=map(int,raw_input().strip().split())
dp=[0 for i in range(len(arr))]
for i in range(len(arr)):
dp[i]=1
for j in range(i,-1,-1):
if arr[i]>arr[j]:
dp[i]=max(dp[i],dp[j]+1)
print dp
ind=dp.index(max(dp))
print ind
res=[]
while len(res)<max(dp):
res.append(arr[ind])
for i in range(ind-1,-1,-1):
if arr[i]<arr[ind] and dp[i]==dp[ind]-1:
ind=i
break
res.reverse()
print res
except:
break