#35400: python ans(含詳解)


1360467-8@g.puiching.edu.mo (三國迷李牧粉)

學校 : 不指定學校
編號 : 189084
來源 : [202.86.172.163]
最後登入時間 :
2023-10-20 12:55:38
b159. NOIP2007 2.纪念品分组 -- NOIP2007普及組 | From: [60.246.51.183] | 發表日期 : 2023-05-31 17:52

from bisect import bisect_left

def minimum_groups(w, prices):
    prices.sort()  # 將紀念品的價格從小到大排序
    n = len(prices)
    groups = 0  # 紀念品被分成了幾組
    left, right = 0, n - 1  # 左右指針
    while left <= right:
        if prices[left] + prices[right] <= w:  # 如果左右紀念品的價格之和小於等於 w
            left += 1  # 將左指針右移
        right -= 1  # 右指針左移
        groups += 1  # 分成一組
    return groups

# 讀取輸入
w = int(input())
n = int(input())
prices = [int(input()) for _ in range(n)]

print(minimum_groups(w, prices))
 
ZeroJudge Forum