求救救救...!!!(样例过了)
查看原帖
求救救救...!!!(样例过了)
644394
dongrq_cs楼主2023/4/30 11:27
#include <bits/stdc++.h>
using namespace std;
int n,a,b,c[500];
bool dp[1010][1010];
int main(){
	cin >> n >> a >> b;
	for(int i = 1;i <= n;i++){
		cin >> c[i];
	}
	dp[0][a] = 1;
	for(int i = 1;i <= n;i++){
		for(int j = b;j >= 0;j--){
			if(j >= c[i]){
				dp[i][j] = dp[i][j] || dp[i - 1][j - c[i]];
			}
			if(j + c[i] <= b){
				dp[i][j] = dp[i][j] || dp[i - 1][j + c[i]];
			}
		}
	}
	int i = b;
	while(!dp[n][i]){
		i--;
	}
	cout << i;
	return 0;
}
2023/4/30 11:27
加载中...