有dalao帮我看看嘛,91分一个点wa
查看原帖
有dalao帮我看看嘛,91分一个点wa
768270
__why楼主2023/8/1 19:49
#define _CRT_SECURE_NO_WARNINGS
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int maxn = 800005;
int ans = -1,m,n,dp[maxn],iq[maxn],eq[maxn];
signed main(){
	ios::sync_with_stdio(false);
	cin>>n;
	for(int i = 1;i<=n;i++){
		cin>>iq[i]>>eq[i];
	}
	memset(dp,-0x3f,sizeof dp);
	dp[400000] = 0;
	for(int i = 1;i<=n;i++){
		if(iq[i]>=0){
			for(int j = 800000;j>=iq[i];j--){
				dp[j] = max(dp[j],dp[j-iq[i]]+eq[i]);
			}
		}else{
			for(int j = 0;j<=800000+iq[i];j++){
				dp[j] = max(dp[j],dp[j-iq[i]]+eq[i]);
			}
		}
	}
	for(int i = 400000;i<=800000;i++){
		if(dp[i]>0){
			ans = max(ans,i+dp[i]-400000);
		}
	}
	cout<<ans;
} 

2023/8/1 19:49
加载中...