Pagini recente » Cod sursa (job #3253871) | Cod sursa (job #1698173) | Cod sursa (job #3219342) | Cod sursa (job #3234787) | Cod sursa (job #882518)
Cod sursa(job #882518)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("ghiozdan.in");
ofstream out("ghiozdan.out");
int v[75050],g,n,i,j,poz[75050],contor[210],k,qq;
int main()
{
in>>n>>g;
for(i=1;i<=n;i++)
{
in>>qq;
contor[qq]++;
}
v[0]=1;
for(i=200;i>=1;i--)
if(contor[i])
for(j=g-i;j>=0;j--)
if(v[j])
for(k=1;k<=contor[i]&&(j+k*i)<=g&&!v[j+i*k];k++) {
v[j+k*i]=v[j]+k;
poz[j+k*i]=i;
}
for(i=g;!v[i];i--);
out<<i<<" "<<v[i]-1<<'\n';
for(;i;i-=poz[i])
out<<poz[i]<<'\n';
out<<'\n';
in.close();
out.close();
return 0;
}