80分求调 就样例一不过
查看原帖
80分求调 就样例一不过
921332
XSDMHLD楼主2024/8/9 17:02
#include<bits/stdc++.h>
using namespace std;
const long long inff=LONG_LONG_MIN;
long long n,m,a[10001],b[10001],dp[10001],maxx=inff,bu;
int main() {
	//dp[i]描述为离开i关卡时能取到的最值 
	//dp[i]如果到不了这个点值为最小值 
	cin>>n>>m;
	for(int i=1; i<=m; i++) {
		cin>>a[i];
	}
	for(int i=1; i<=n; i++) {
		cin>>b[i];
	}
	for(int i=1; i<=n; i++)dp[i]=inff;
	dp[1]=b[1];
	for(int i=2; i<=n; i++) {
		for(int j=1; j<=m; j++) { 
			if(i-a[j]>0) { 
				//		if(i==6&&j==1)cout<<dp[i]<<" "<<b[i]<<" "<<dp[i-a[j]]<<endl;
				dp[i]=max(dp[i],b[i]+dp[i-a[j]]);
				//		cout<<i<<" "<<j<<' '<<a[j]<<" "<<dp[i]<<endl;
				maxx=max(maxx,dp[i]);
			}

		}
	}
	cout<<maxx;
	return 0;
}

2024/8/9 17:02
加载中...