std::listは、連結リストである。rbeginとrendを持っているから、逆方向にも走査できる二重連結リストである。二重連結リストは、1個の要素に対して要素データと2個のポインタを消費する。
要素データのサイズをEとし、1個のポインタのサイズをPとすると、std::listが1個の要素に対して消費するメモリーサイズは、(E + P * 2)バイトとなる。
要素数やルートポインタを含むヘッダ情報のサイズをH1とし、n個の要素があるとすると、合計 H1 + n * (E + P * 2) バイトとなる。

std::vectorは、動的配列であり、要素の個数や要素を格納する連続データへのポインタなどを含むヘッダ情報を持っている。
ヘッダ情報のサイズをH2とする。capacityの個数が実際の要素の1.5倍だと仮定すると、(H2 + n * E * 1.5)となる。

listよりvectorの方がサイズが小さいと仮定すると、
H1 + n * (E + P * 2) > H2 + n * E * 1.5.
n * (E + P * 2 - E * 1.5) > H2 - H1.
n * (P * 2 - E * 0.5) > H2 - H1.
n > (H2 - H1) / (P * 2 - E * 0.5).
となる。