动态规划,建立一个辅助数组dp,记录花i块钱要用的最少张数,每次输入一个arr,就将dp[arr]设置为1,然后从arr+1到aim开始更新数组dp,方程为dp[j] = min(dp[j], dp[j-arr]+1);代码如下: #include<bits/stdc++.h> #define INT_MAX 999999 using namespace std; int main() { int n,aim; cin >> n >> aim; vector<int> dp(aim + 1, INT_MAX); ...