原来这题不加ll一个都过不了
查看原帖
原来这题不加ll一个都过不了
1293171
2787808878xsy楼主2024/3/1 16:55
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
//#define int long long
#define   INF   999999999
const int N = 1e4 + 5;
int main() {
	ll T, M;
	ll w[N], v[N];
	scanf("%lld %lld", &T, &M);
	ll dp[M + 1][T + 1];
	memset(dp, 0, sizeof(dp));
	for (int i = 1; i <= M; i++) {
		cin >> w[i] >> v[i];
	}
	for (int i = 1; i <= M; i++) {
		for (int j = 1; j <= T; j++) {
			if (j >= w[i])
				dp[i][j] = max(dp[i][j - w[i]] + v[i], dp[i - 1][j]);
			else
				dp[i][j] = dp[i - 1][j];
		}
	}
	cout << dp[M][T];
	return 0;
}
2024/3/1 16:55
加载中...