F
何かの桁DPに見えたので、そこから考えた。
'0'~'9'の使用フラグで10bitのbit全探索することを考えると、Nの最大桁数の10^4と合わせて10^7くらいのオーダー。
DPに入れるのはそれまでの和と個数。桁を増やすたびに和を10倍にすることで、最終的に、条件を満たす数の和ということになる。
ABC231
A C++ double型を使って割り算するだけ。
B C++ std::map[s_i]++で候補者ごとに集計した後、mapを巡回して値が最大値になる候補者の名前を探す。
C 二分探索。C++なら事前にstd::vectorをソートしたうえでstd::lower_boundを使えばよい。