#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5+10;
const int modd = 1e9+7;
typedef long long ll;
int n,s;
int v[maxn],dpm[maxn],dpx[maxn];
int mini = 999,maxi = -1;
void solve_min(){
for(int i = 1;i <= s;i++){
mini = 999;
for(int j = 1;j <= n;j++){
if(i-v[j] >= 0) {mini = min(mini,dpm[i-v[j]]+1);}
}
dpm[i] = mini;
}
for(int i = 1;i <= s;i++){
cout<<dpm[i]<<" ";
}
cout<<endl;
}
void solve_max(){
for(int i = 1;i <= s;i++){
maxi = -1;
for(int j = 1;j <= n;j++){
if(i-v[j] >= 0) {maxi = max(maxi,dpx[i-v[j]]+1);}
}
dpx[i] = maxi;
}
for(int i = 1;i <= s;i++){
cout<<dpx[i]<<" ";
}
cout<<endl;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cin>>n>>s;
for(int i = 1;i <= n;i++){
cin>>v[i];
}
memset(dpm,0,sizeof(dpm));
memset(dpx,0,sizeof(dpx));
solve_min();
solve_max();
return 0;
}
/*
3 10
2
3
4
10 3
*/
还没有评论,来说两句吧...