卡死在40pts,求助
查看原帖
卡死在40pts,求助
1268524
DX3906_ourstar楼主2024/7/23 15:52

要崩了要崩了

两组样例都能过,代码:

#include<iostream>
#include<cmath>
#include<string.h>
#include<algorithm>
#include<queue>
#define int long long
#define re register
#define zhuang_bi ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define INF 0x7fffffff
using namespace std;

const int N = 505;

int s,n,m,ans = 0;
int a[N][N];
int dp[N];

//bool cmp(int a,int b){
//	return a > b;
//}

signed main(){
	zhuang_bi
	cin>>s>>n>>m;
	for(re int i = 1;i <= s;i ++){
		for(re int j = 1;j <= n;j ++){
			cin>>a[j][i];
		}
	}
	for(re int i = 1;i <= n;i ++){
		sort(a[i] + 1,a[i] + s + 1/*,cmp*/);
	}
	for(re int i = 1;i <= n;i ++){
		for(re int j = m;j >= 0;j --){
			for(re int k = 1;k <= s;k ++){
				if(a[i][k] * 2 < j){
					dp[j] = max(dp[j],dp[j - a[i][k] * 2 - 1] + k * i);
				}
			}
		}
	}
	for(re int i = 1;i <= m;i ++){
		ans = max(ans,dp[i]);
	}
	cout<<ans<<"\n";
	return 0;
}

卡了半天看了一下tj,发现思路一致,但就是研究不明白怎么就错了

2024/7/23 15:52
加载中...