Python 求助!只有实例的结果一样,其他的都不对。
查看原帖
Python 求助!只有实例的结果一样,其他的都不对。
1154793
FuxuanNet楼主2023/10/25 16:19
import math

n, x, y, a, b = map(int, input().split())
S = 0
s = 0
M = 0
gift_num = [] # 连续礼物判断
surprise = 0
max_surprise = []

for i in range(1, n + 1):  # 打开第i封信
    S, s, M = map(int, input().split())
    S = S * x  # 信封重量
    s = s * y  # 信纸重量
    gift = M - S - s  # 礼物重量
    if gift > 0:
        gift_num.append(1)
    else:
        gift_num.append(0)
    if gift > 0:
        surprise += gift
        if gift > (S + s):
            surprise += 0.5 * gift
            surprise = math.ceil(surprise)  # 向上取整

    if i >= 2 and gift_num[i - 1] == gift_num[i - 2]:
        if gift_num[i - 1] == 1:
            surprise *= 2
        if gift_num[i - 1] == 0:
            surprise /= 2
            surprise = math.floor(surprise)
    max_surprise.append(surprise)
max_surp = max(max_surprise)
print(max_surp, surprise)

2023/10/25 16:19
加载中...