Pagini recente » Cod sursa (job #2622518) | Cod sursa (job #631320) | Cod sursa (job #1747518) | Cod sursa (job #1151397) | Cod sursa (job #2190377)
#include <fstream>
#include <algorithm>
#define NMAX 75007
using namespace std;
ifstream f("ghiozdan.in");
ofstream g("ghiozdan.out");
int ap[75007], a[75007], b[75007];
int G, n, x;
int main (){
f>>n>>G;
for(int i = 1; i <= n; ++i){
f>>x;
ap[x]++;
}
a[0] = 1;
int Max = 0;
for(int i=200; i>=1; i--)
if(ap[i])
for(int j=G-i; j>=0 ;j--)
if(a[j])
for(int k=1; k<=ap[i] && j+k*i<= G && !a[j+k*i]; ++k){
a[j+k*i]=a[j]+k;
b[j+k*i]=i;
Max=max(Max,j+k*i);
}
g<<Max<<" "<<a[Max]-1<<"\n";
for(int i=Max; i>0 ;i=i-b[i])
g<<b[i]<<"\n";
return 0;
}