デフォルトのロケールはCなのでUTF-8に変え、wcin, wcoutのロケールを変更する

locale::global(locale("ロケール名"));
wcout.imbue(std::locale("ロケール名"));
wcin.imbue(std::locale("ロケール名"));

yukicoderではja_JP.utf8、AtCoderではen_US.utf8が使える(シェルが使えるならlocale -aで調べられる)

ワイド文字列を扱うため、変換が必要