　結論から述べると，$ f(N) $ は，$2 ^ {t} - 1 \leq N$ をみたす最大の $ t $ に対して，$ a = 2 ^ {t} - 1$ のときの値である．\
　非負整数 $ x $ の二進法での表記において，下から $ i $ 桁目の桁を $ x_i $ とすると，以下が成り立つことがわかる．

- $ a_{i} $ と $ b_{i} $ は任意に交換可能．特に $a_i = 0$ ならば $b_i=0$ としてよい．
- 与式が最大値をとる $ a,b $ に対し，$ a_{i+1} = b_{i+1} = 1$ かつ $ a_i = b_i = 0 $ なる $ i $ は存在しない．\
（$a_{i+1}=1, ~ b_{i+1}=0, ~ a_i=b_i=1$ に置き換えればよい） 

これを踏まえれば，与式が最大となる組 $(a,b)$ のうち，$ a = 2 ^ {t} -1 $ なるものが存在する．これより求める値は，
$$\begin{aligned} 
\sum_{i=1}^{7} \bigl( i \cdot 2^{i} + i \cdot 2^{i-1} \bigr) + 8 + 9 & =  \sum_{i=1}^{7} 3 \cdot i \cdot 2^{i-1} + 17 \\\\
& = 3 \cdot 769 + 17 \\\\
& = \mathbf{2324}
\end{aligned}$$
公式解説
https://onlinemathcontest.com/contests/omc173/editorial/6802
　漸化式を立てる方法です．
***
$$ S_N = \sum_{n=1}^{N}  f(n) $$ 
とおく．\
　$n$ を自然数として以下が従うことが分かる：
- $ f(2n) = f(n-1) + 2 $．
- $ f(2n + 1) = f(n) + 1 $．

　これより $ f(2n + 1) + f(2n + 2) = 2 f(n) + 3$ が成立するから，
$$ S_{256} = \sum_{n=1}^{256}  f(n) = \sum_{n=0}^{127} (2 f(n) + 3) = 2 S_{127} + 384$$
となる．この作業を繰り返し行うことで，$S_{256} = \mathbf{2324} $ と求まる．
ユーザー解説
https://onlinemathcontest.com/contests/omc173/editorial/6802/268
　和が $N$ である非負整数 $a,b$ に対して，$\text{popcount}(a)+\text{popcount}(b)$ のとりうる最大値を $f(N)$ とおきます．このとき， 以下の値を求めてください：
$$ f(1)+f(2)+f(3)+\cdots+f(255)+f(256). $$
　ただし，$\text{popcount}(x)$ で $ x $ を二進法で表したときの各桁の和を表します．