1 条题解
-
0
文字教学
这道题的核心思路是维护当前生产一台机器的最小单位成本。
对于第 周,我们有两种选择:
- 直接在第 周生产,单位成本为 ;
- 用之前某周生产的机器,此时单位成本为「之前的最小单位成本 + 每周保养费 」(因为多存放了一周)。
我们只需在每一步取这两种选择的最小值,作为当前周的单位成本,再乘以当周需要交付的机器数量 ,累加即可得到总最小代价。
代码实现
#include <bits/stdc++.h> using namespace std; int main() { int n, s; cin >> n >> s; long long ans = 0; int mc; for (int i = 0; i < n; ++i) { int c, y; cin >> c >> y; if (i == 0) mc = c; else mc = min(mc + s, c); ans += (long long)mc * y; } cout << ans << endl; return 0; }
- 1
信息
- ID
- 371
- 时间
- 1000ms
- 内存
- 250MiB
- 难度
- 3
- 标签
- 递交数
- 9
- 已通过
- 4
- 上传者
京公网安备 11011102002149号