P2430 80pts求助
查看原帖
P2430 80pts求助
1117719
zhao_ry514114楼主2024/12/18 17:00

最后一个点没过

#include<bits/stdc++.h>
using namespace std;
int dp[5050][5050],w[5050],v[5050];
int main(){
    float a,b;
    cin>>a>>b;
    a=a/b;
    int c,d;
    cin>>c>>d;
    int e[d+1];
    for(int i=1;i<=d;i++){
        cin>>e[i];
    }
    int f[c+1][2];
    for(int i=1;i<=c;i++){
        cin>>f[i][0]>>f[i][1];
    }
    int g;
	cin>>g;
    for(int i=1;i<=c;i++){
        w[i]=e[f[i][0]]/a;
        v[i]=f[i][1];
    }
    for(int i=1;i<=c;i++){
        for(int j=1;j<=g;j++){
            if(w[i]<=j)
                dp[i][j]=max(dp[i-1][j],v[i]+dp[i-1][j-w[i]]);
            else dp[i][j]=dp[i-1][j];
        }
    }
    cout<<dp[c][g];
    return 0;
}
2024/12/18 17:00
加载中...