请求大佬求助,本蒟蒻测试点都没过
查看原帖
请求大佬求助,本蒟蒻测试点都没过
963448
luoguluoguSB楼主2023/10/5 12:03
#include<bits/stdc++.h>
using namespace std;
const int T=4e5;
int n,dp[800005],eq[405],iq[405],ziq; 
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>iq[i]>>eq[i];
		if(iq[i]>0)ziq+=iq[i];
	}
	for(int i=1;i<=n;i++){
		if(iq[i]>=0)
			for(int j=ziq;j>=iq[i];j--)
				dp[j+T]=max(dp[j+T],dp[j+T-iq[i]]+eq[i]);
		else
			for(int j=iq[i];j<=ziq;j++)
				dp[j+T]=max(dp[j+T],dp[j+T-iq[i]]+eq[i]);
	}
	int ans=0;
	for(int i=0;i<=ziq;i++)
		if(dp[i+T]>0)
			ans=max(ans,dp[i+T]+i);
	cout<<ans<<'\n';
}

2023/10/5 12:03
加载中...