公式

E - A+B+C 解説 by kyopro_friends


\(A,B,C\) からそれぞれ \(1\) 個ずつ要素を選ぶ方法は \(N\times M \times L\) 通りであり、\(N,M,L\leq 100\) の制約下では高々 \(10^6\) 通りです。よって、予めこれらを全て計算して set などで保持しておくことで、各質問に \(O(\log NML)\) で答えることができます。

実装例(Python)

input()
A=list(map(int,input().split()))
input()
B=list(map(int,input().split()))
input()
C=list(map(int,input().split()))

S=set()
for a in A:
  for b in B:
    for c in C:
      S.add(a+b+c)

input()
X=list(map(int,input().split()))

for x in X:
  if x in S:
    print("Yes")
  else:
    print("No")

投稿日時:
最終更新: