解説

NNの制約が小さいので、全てのサイコロの出目を全探索する事が出来ます。NN個のサイコロに対して6通りの出目の組み合わせを考えるので計算量はO(6N)O(6^N)となります。これは、DFSや工夫したビット全探索などの方法で求められます。

また、クエリを処理する前に組み合わせを全探索し、出現する和を記録しておく事で各クエリにはO(1)O(1)で答えられます。よって、O(6N+Q)O(6^N + Q)程度の計算量でこの問題に正解することが出来ます。

解答例(C++)