提交时间:2024-04-19 13:01:49

运行 ID: 143834

#include<bits/stdc++.h> using namespace std; long long n,m,c[1111],f[11111]; int main(){ cin>>n>>m; for(int i=1;i<=n;i++)cin>>c[i]; memset(f,0x3f3f3f3f,sizeof(f)); f[0]=0; for(int i=1;i<=n;i++)for(int j=c[i];j<=m;j++)f[j]=min(f[j-c[i]]+1,f[j]); if(f[m]>=0x3f3f3f3f||f[m]<0)cout<<"-1"; else cout<<f[m]; return 0; }