题目是这样的
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,mi[10005],ma[10005],a[10005],s;
int main(){
cin>>n>>s;
memset(mi,0x3f3f3f3f,sizeof mi);
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+1+n);
mi[0]=0;
for(int i=1;i<=s;i++){
for(int j=1;j<=n;j++){
if(a[j]<=i){
ma[i]=max(ma[i-a[j]]+1,ma[i]);
}
else{
break;
}
}
for(int j=1;j<=n;j++){
if(a[j]<=i){
mi[i]=min(mi[i-a[j]]+1,mi[i]);
}
else{
break;
}
}
}
cout<<mi[s]<<"\n"<<ma[s];
return 0;
}
会wa三个点