list using lower_bound is far more slower than vector