#479 f consecutive subsequence

#codeforces

誤った考察

数列に出る数で2回以上出るのは, 最初の数以外消していい

反例
3 1 2 3 4
あとの3消したらダメ

辺の数多くなる?
1 1 ... 1 2 2 ... 2
のケース
圧縮したらいい

1 2 1 2 ... 1 2 は?
1-2 1-2 1-2 ... だけでいい

反例
1 2 3 2 3

1-2-3 2-3
としたらだめ
5個目の3は2個目の2から

要は昇順のブロックに分けられない

解法

dp
引数が最後の要素となるような最長数列の要素数value
dpの後ろから走査して, valueが最大の数を見つけたらそのindexを出力して, その1小さい値探して, ってやる