pub fn lis<T>(a: &[T]) -> Vec<usize>where T: Ord + Copy,
列の最長増加部分列の一つを求める。
Time complexity $O(|a| \log |a|)$