[白俊]送糖2839号


砂糖配達2839号

コード#コード#

leftover = [0, -1, -1, 1, -1, 1, 2, -1, 2, 3, 2, 3, 4]
n = int(input())
portion = n // 5  # 몫
rest = n % 5  # 나머지
if n <= 12:
    print(leftover[n])
else:
    while leftover[rest] == -1:
        portion -= 1
        rest += 5
    print(portion + leftover[rest])

コメント



leftover = 1~??配列として対応する値が存在します
a = n//5
a-=1の後に残る!=1は最適値
残りの=1の場合、a=1を使用して最適値を検索します.
残りはどこまでやりますか?
1回目/2回目/3回目/4回目の試み
0/5/10/15
1/6/11/16
2/7/12/17
3/8/13/18
4/9/14/19
5を0から4で割った場合の除算
1失敗したら6、6失敗したら11にジャンプします.
6が成功した場合、11または16未満
残り0->0
残り1->6
残り2->12
残り3->3
残り4->9
したがって、残りは0~12個しか存在しません.

時間:80分