#正解コード
Python
1N = int(input()) 2A = list(map(int, input().split())) 3 4if 0 in A: 5 print(0) 6 7else: 8 p = 1 9 for a in A: 10 p *= a 11 if p > 10 ** 18: 12 print(-1) 13 exit() 14 15 print(p)
#エラーコード
Python
1N = int(input()) 2A = list(map(int, input().split())) 3 4p = 1 5for a in A: 6 p *= a 7 if p > 10 ** 18: 8 print(-1) 9 exit() 10 11print(p)
#質問
正解コードの方は、if 0 in A: の分岐を作ったこと以外は、エラーコードと全く同じです。「Aに0が入ってたらpは0になるし、計算量は減るだろうな」といったことの他は、全く同じ思考回路でコードを書いたのですが、エラーコードの方では不正解が表示されました。これがTLE(時間ぎれ)の表示であるならその差も理解できるものの、「間違い」であると言うのはどういったことが起因しているのでしょうか?素人質問で恐縮ですが、お力添え頂ける箇所が御座いましたら、ご教授のほどよろしくお願い申し上げます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/01 07:32