京セラプログラミングコンテスト2021 D - Happy Birthday! 2 (400)
要素の配列を持つmapを用意しておく
n個の要素を前から順に見て以下を行う
現在の要素の剰余と同じ結果になるものがmapにあったら、個の要素とその配列を結果として出力
剰余それぞれについて見ていく
一番最初に自身の剰余の所に自分だけ入れた配列を入れて確認済みにする
その要素が既に見ているか空なら飛ばす
その要素に自身を追加し、その剰余の所の値を確認する
存在するなら、自身を追加した配列と剰余の所の配列を結果として出力
無いなら、自身を追加した配列をその剰余の値として追加し、確認済みにする
下の鳩ノ巣原理より最初の8要素で答えが見つかるはず
解説の解法
$ n \lt 8なら全探索
最初の8要素から一つ以上選ぶ方法は255通り存在
200で割った余りは200通りなので鳩ノ巣原理より255通りの内、要素が異なって剰余が同じものが存在