Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
67325 | 李思贤 | 最小乘车费用 | C++ | 解答错误 | 0 | 0 MS | 204 KB | 368 | 2023-01-12 16:21:48 |
#include <stdio.h> #include <string.h> int w[20000],p[200000]; int dp[20000]; int main() { int n,m,i,j,k; scanf("%d %d", &m,&n); for(i=1; i<=n; i++) scanf("%d %d", &w[i],&p[i]); for(i=1; i<=n; i++) for(k=p[i]; k<=m; k++) dp[k]=dp[k]>dp[k-p[i]]+w[i]?dp[k]:dp[k-p[i]]+w[i]; printf("%d", dp[m]); return 0; }