AtCoder ABC 121 B – Can you solve this? Python解説

スポンサーリンク

Can you solve this?

今回の問題はこちらから「Can you solve this?」。Ai1​B1​+Ai2​B2​+…+AiMBM​+C>0 を満たす個数を求めます。

制約的にも問題ないので2重ループを使います。

n, m, c = map(int, input().split())
b = list(map(int, input().split()))

ans = 0

for _ in range(n):
    a = list(map(int, input().split()))
    cnt = c
    for i in range(m):
        cnt += a[i] * b[i]
    if cnt > 0:
        ans += 1
        
print(ans)

まず、外側のfor文で計算に使う配列aの入力を受け取っています。そして、cntは整数cの値で初期化しています。内側のfor文はa[i] * b[i]を計算してcntに足していき、cntが0を超えていたらansを+1にして終了です。