提交时间:2023-12-09 09:56:04

运行 ID: 114821

#include<bits/stdc++.h> using namespace std; long long n,m; long long 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]<<endl; }