Pagini recente » Cod sursa (job #3001874) | Cod sursa (job #3122789) | Cod sursa (job #1264639) | Cod sursa (job #2145637) | Cod sursa (job #2422548)
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
int w[75001],f[201];
int main()
{
FILE *fin=fopen ("ghiozdan.in","r");
FILE *fout=fopen ("ghiozdan.out","w");
int n,g,i,j,x,k,sol;
fscanf (fin,"%d%d",&n,&g);
for (i=1;i<=n;i++){
fscanf (fin,"%d",&x);
f[x]++;
}
for (i=200;i;i--){
for (j=g;j;j--){
for (k=1;k<=f[i] && j - i * k >=0 ; k++){
if ((w[j - i*k] || j == i*k) && !w[j])
w[j] = k + w[j - i*k];
}
}
}
sol = g;
while (!w[sol])
sol--;
fprintf (fout,"%d %d\n",sol,w[sol]);
/// doar testez daca nu iau tle:)
return 0;
}