Pagini recente » Cod sursa (job #1711243) | Cod sursa (job #604830) | Cod sursa (job #1998481) | Cod sursa (job #1999461) | Cod sursa (job #1918061)
#include <fstream>
using namespace std;
int n,m,i,j,k,x,w[76005],v[205],p[76005];
int main()
{
ifstream f("ghiozdan.in");
ofstream g("ghiozdan.out");
f>>n>>m;
for(i=1; i<=n; i++)
{
f>>x;
v[x]++;
}
w[0]=1;
for(k=200; k; k--)
{
if(v[k])
{
for(i=m-k; i>=0; i--)
{
if(w[i])
{
for(j=1; j<=v[k]&&i+j*k<=m&&!w[i+j*k]; j++)
{
w[i+j*k]=w[i]+j;
p[i+j*k]=k;
}
}
}
}
}
for(i=m; i>=1; i--)
{
if(w[i])
{
g<<i<<' '<<w[i]-1<<'\n';
while(i)
{
g<<p[i]<<'\n';
i-=p[i];
}
break;
}
}
f.close(); g.close();
return 0;
}