为什么long long过了,int没过?
查看原帖
为什么long long过了,int没过?
1281213
hkjkjk楼主2024/10/27 15:17
#include<bits/stdc++.h>
using namespace std;
long long n,m,v[10000005],w[10000005];
long long dp[10000005];
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>v[i]>>w[i];
	}
	for(int i=1;i<=m;i++){
		for(int j=v[i];j<=n;j++){
			dp[j]=max(dp[j],dp[j-v[i]]+w[i]); 
		}
	}
	cout<<dp[n];
	return 0;
}

long long过了

#include<bits/stdc++.h>
using namespace std;
int n,m,v[10000005],w[10000005];
int dp[10000005];
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>v[i]>>w[i];
	}
	for(int i=1;i<=m;i++){
		for(int j=v[i];j<=n;j++){
			dp[j]=max(dp[j],dp[j-v[i]]+w[i]); 
		}
	}
	cout<<dp[n];
	return 0;
}

int才90分 求大佬指点

2024/10/27 15:17
加载中...