社区讨论
求助,最后一个测试点是啥。过不了
P1616疯狂的采药参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @locj7e82
- 此快照首次捕获于
- 2023/10/30 14:41 2 年前
- 此快照最后确认于
- 2023/11/05 02:00 2 年前
CPP
#include<stdio.h>
#include<algorithm>
using namespace std;
#define SIZE 10000005
struct F
{
long long kal;
long long money;
};
int main() {
struct F f[SIZE];
long long dp[SIZE];
int V,num;
scanf("%d%d", &V, &num);
getchar();
for (long long i = 0; i < num; i++)
{
scanf("%d%d", &f[i].money, &f[i].kal);
}
for (long long v = 0;v <= V;v++) {
dp[v] = 0;
}
for (long long i = 0; i < num; i++)
for (int v = f[i].money; v <= V; v++)
{
dp[v] = max(dp[v], dp[v - f[i].money] + f[i].kal);
}
int max = 0;
for (long long v = 0;v <= V;v++) {
if (dp[v]>max)
{
max = dp[v];
}
}
printf("%d", max);
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...