BOJ/Baekjun-13904-python


質問する📖



に答える🙏


雄燦が最も完成したい任務は最多点数を獲得することだ.
  • 第1行は整数Nを与える.
  • の次の行から、N行にはそれぞれ2つの整数d,wが与えられる.
  • dは課題終了まで時間があることを意味し,wは課題の点数を意味する.
  • で得られるスコアの最上位値を出力します.
  • コード#コード#💻

    # boj, 13904 : 과제, python3
    # 그리디 알고리즘
    import sys
    
    def homework(n, l):
        answer = [0 for _ in range(1000)]
        
        for i in range(n):
            for j in range(l[i][0]-1, -1, -1):
                if answer[j] == 0:
                    answer[j] = l[i][1]
                    break
        
        return sum(answer)
    
    N = int(sys.stdin.readline())
    l = []
    
    for _ in range(N):
        d, w = map(int, sys.stdin.readline().split())
        l.append([d, w])
        
    print(homework(N, sorted(l, reverse=True, key=lambda x : x[1])))

    結果😎



    ソース&ハーブ📝


    boj
    github