Pagini recente » Cod sursa (job #3168487) | Cod sursa (job #3216613) | Cod sursa (job #942663) | Cod sursa (job #1499835) | Cod sursa (job #1140465)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream in("ghiozdan.in"); ofstream out("ghiozdan.out");
int N,i,j,umax,u,lv,ln,G,a[20001],x[75002],t[75002];
int main()
{ in>>N>>G;
for(i=1; i<=N; i++) in>>a[i];
sort(a+1,a+N+1);
ln=1; x[0]=1; umax=0;
for(i=1; i<=N; i++)
{ for(j=umax;j>=0;j--)
if(x[j])
{ u=j+a[i];
if(u<=G)
{ if(x[u]==0)
{ x[u]=x[j]+1, t[u]=i;
if(umax<u) umax=u;
}
}
}
}
out<<umax<<' '<<x[umax]-1<<'\n';
while(umax)
{ out<<a[t[umax]]<<'\n';
umax-=a[t[umax]];
}
out.close(); return 0;
}