前提・実現したいこと
n本の棒があります。棒iの長さはaiです。あなたはそれらの棒から3本を選んでできるだけ周の長さが長い三角形を作ろうとしています。最大の周長を求めてください。ただし、どうやってもできない場合は-1を出力してください。
という問題でリストを使って解こうととするとエラーが起こります。調べたのですが原因がわからないので解答お願いします。(問題を解いてほしいのではなく、なぜエラーが出るのかをお願いします。)
発生している問題・エラーメッセージ
ans = naga[-i-1] +naga[-i-2] + naga[-i-3] IndexError: list index out of range
該当のソースコード
python
1i = 1 2a = int(input()) 3naga = [] 4 5while i-1 >= a: 6 naga[i-1] = int(input()) 7 i += 1 8 9c = 0 10 11hant = 0 12 13while i > a+5: 14 if naga[-i-1] <= naga[-i-2] + naga[-i-3]: 15 break 16 i += 1 17 if i-1 > a+3: 18 c = 1 19ans = naga[-i-1] +naga[-i-2] + naga[-i-3] 20if c == 1: 21 print(-1) 22else:print(ans)
試したこと
iを0にしたり1にしたりしたのですがだめでした
補足情報(FW/ツールのバージョンなど)
python3.8.2
VScode
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。