20分
查看原帖
20分
1334252
futian1楼主2024/11/23 16:14
#include<bits/stdc++.h>
using namespace std;
long long k,g,n,m,t[10005],f[10005],cnt,maxx=-10005;
void dp(long long id){
	if(id>=n){
		maxx=max(maxx,cnt);
		return;
	}
	for(long long i=1;i<=m;i++){
		cnt+=f[id];
		dp(id+t[i]);
		cnt-=f[id];
	}
}
int main(){
	cin>>n>>m;
	for(long long i=1;i<=m;i++){
		cin>>t[i];
	}
	for(long long i=0;i<n;i++){
		cin>>f[i];
	}
	dp(0);
	cout<<maxx;
	return 0;
} 
2024/11/23 16:14
加载中...