楼下大佬背包太难了,不会就来看看这个暴力解法吧
#include <bits/stdc++.h> using namespace std; int t,a1; int arr[101]={0},brr[4],sum=0,minn=0; int main(){ cin>>t; while(t--) { sum=0; minn=31; cin>>a1>>brr[0]>>brr[1]>>brr[2]; for(int a2=0;a2<=brr[0];a2++){ for(int a3=0;a3<=brr[1];a3++){ for(int a4=0;a4<=brr[2];a4++){ if(a2+a3*5+a4*10==a1){ if(minn>(a2+a3+a4)){ minn=a2+a3+a4; } } } } } if(minn==31){ cout<<"-1"<<endl; continue; } cout<<minn<<endl; } return 0; }