update arr [ i ] subsequence length in ' dcr ' and in len_dcr [ ]
len_dcr [ i ] = len + 1 ; if ( dcr . ContainsKey ( arr [ i ] ) ) { dcr . Remove ( arr [ i ] ) ; dcr . Add ( arr [ i ] , len_dcr [ i ] ) ; } else dcr . Add ( arr [ i ] , len_dcr [ i ] ) ; }