\(a_i\) は昇順にソートしておく.

\(i\) を固定して \(a_j = X - a_i\) となる \(j\) がいくつあるかを二分探索で求める. これを \(i\) を動かしながら計算して合計する.