题解
2025-08-06 12:03:45
发布于:浙江
#include<bits/stdc++.h>
using namespace std;
int n,m,ti,a,dp[105105];
int peaches[105][105];
int times[105][105];
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n>>m>>ti>>a;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>peaches[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>times[i][j];
}
}
int cnt=0;
int w[105105],v[105105],s[105105];
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(peaches[i][j]){
cnt++;
w[cnt]=peaches[i][j];
v[cnt]=2*(i+j);
s[cnt]=times[i][j];
}
}
}
int ava=min(ti,a-1);
for(int i=1;i<=cnt;i++){
for(int j=ava;j>=0;j--){
for(int k=0;k<=s[i];k++){
if(j-kv[i]<0)break;
dp[j]=max(dp[j],dp[j-kv[i]]+k*w[i]);
}
}
}
cout<<dp[ava]<<"\n";
return 0;
}
这里空空如也
有帮助,赞一个