4 条题解
-
1
思路是每次跑到最近的价格更便宜的油站就不加油了。洛谷上有升级版,但是思路类似 旅行家的预算
n,d = map(int, input().split()) do = [0] p = [] do += list(map(int, input().split())) p += list(map(int, input().split())) do += [0] p += [0] kn = 0 # 当前的油站标号 ans = 0 pp = 0 # 油量需要跑多远 n += 1 for i in range(1, n): pp += do[i] if (p[i]<p[kn]): ls = pp//d # 加几升 if (ls*d!=pp) : ans += max(0, (ls+1)*p[kn]) pp = pp-(ls+1)*d # 油有剩余,记录一下 else : ans += max(0, ls*p[kn]) pp = 0 kn = i # 刷新所在油站 print(ans)
信息
- ID
- 935
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 8
- 标签
- 递交数
- 319
- 已通过
- 48
- 上传者