这题真猎奇吧
查看原帖
这题真猎奇吧
793342
blue_demon楼主2025/6/26 22:06

为什么我交了同一个代码 一个73pts,一个64pts

code:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e2+7;

struct trash{
	int t,h,f;
};

trash a[N];
int dp[N][N*50];

bool cmp(trash A,trash B){
	return A.t <B.t ;
}

int main()
{
	int m,n;
	cin>>m>>n;
	
	for(int i=1;i<=n;i++){
		scanf("%d%d%d",&a[i].t,&a[i].f,&a[i].h);
	}
	
	sort(a+1,a+n+1,cmp);
	
	int hot=10;
	
	for(int i=1;i<=n;i++){
		bool flag=false;
		for(int j=a[i].t;j<=hot;j++){
			
			dp[i][j]=max(dp[i-1][j-a[i].f],dp[i-1][j]+a[i].h);
//			printf("dp[%d][%d]=%d\n",i,j,dp[i][j]);
			if(dp[i][j]>=m){
				cout<<a[i].t;
				return 0;
			}
			flag=true;
		}
		if(!flag)break;
		
		hot+=a[i].f;
		
	}
	
	cout<<hot;
	
	return 0;
}
/*

6 5
10 30 5
40 30 5
70 30 5
100 30 5
130 2 5

*/
2025/6/26 22:06
加载中...