Pagini recente » Cod sursa (job #2615373) | Cod sursa (job #1413471) | Cod sursa (job #2601806) | Cod sursa (job #2340422) | Cod sursa (job #470277)
Cod sursa(job #470277)
#include <fstream>
using namespace std;
int v[1<<17],a[1<<8],n,g;
ifstream in("ghiozdan.in");
ofstream out("ghiozdan.out");
void scr(int x)
{
if (!x)
return;
for (int i=200;i;i--)
if (v[x]-1==v[x-i] && a[i])
{
a[i]--;
scr(x-i);
out<<i<<"\n";
break;
}
}
int main()
{
int i,j,x;
in>>n>>g;v[0]=1;
for (i=1;i<=n;i++)
{
in>>x;
a[x]++;
for (j=g-x;j>=0;j--)
if (v[j] && (v[j+x]>v[j]+1 || !v[j+x]))
v[j+x]=v[j]+1;
}
for (i=g;i;i--)
if (v[i])
break;
out<<i<<" "<<v[i]-1<<"\n";
scr(i);
return 0;
}