请求大佬帮忙(全WA)
查看原帖
请求大佬帮忙(全WA)
742721
LF_LYX_SJXD楼主2023/7/11 14:00
#include<bits/stdc++.h>
//#include<string.h>
using namespace std;
const int N=1e5+6;
int n,m,num[N][2],d[N],f[N],maxx;
int main(){
    cin>>n>>m;
    for(int i=1;i<=m;i++){
        cin>>num[i][0]>>num[i][1];
    }
    for(int i=1;i<=m;i++){
        for(int j=i+1;j<=m;j++){
            if(num[i][1]<num[j][1]){
                int em1=num[i][1],em=num[i][0];
                num[i][1]=num[j][1],num[i][0]=num[j][0];
                num[j][1]=em1,num[j][0]=em;
            }
        }
    }
    for(int i=1;i<=m;i++){
        for(int j=n;j>=num[i][0];j--){
            f[j]=max(f[j],f[j-num[i][0]]*num[i][1]);
            if(maxx<f[j]){
                maxx=f[j];
            }
        }
    }
    cout<<maxx;
    return 0;
}
2023/7/11 14:00
加载中...