Pagini recente » Cod sursa (job #3134693) | Cod sursa (job #1199613) | Cod sursa (job #718081) | Cod sursa (job #1934203) | Cod sursa (job #2192194)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("ghiozdan.in");
ofstream fout("ghiozdan.out");
int n,g,x,dp[100005],v[1005],t[100005],i,w,j;
int main()
{
fin>>n>>g;
for(i=1;i<=n;++i)fin>>x,v[x]++;
dp[0]=1;
for(w=200;w>=1;w--)
{
if(v[w])
{
for(i=g-w;i>=0;i--)
{
if(dp[i])
{
for(j=1;j<=v[w] && i+j*w<=g && !dp[i+j*w];j++)
{
dp[i+j*w]=dp[i]+j;
t[i+j*w]=w;
}
}
}
}
}
for(i=g;i>=1;i--)
if(dp[i])
{
fout<<i<<" "<<dp[i]-1<<endl;
while(i)
{
fout<<t[i]<<endl;
i-=t[i];
}
break;
}
return 0;
}