Pagini recente » Cod sursa (job #1521528) | Clasament Tiberiu Popoviciu 2011, clasa a 9-a | Cod sursa (job #2103996) | Cod sursa (job #2425225) | Cod sursa (job #93219)
Cod sursa(job #93219)
#include <stdio.h>
long obj[20010],n,g,sum[75010];
int main ()
{
long i,j;
freopen ("ghiozdan.in","r",stdin);
freopen ("ghiozdan.out","w",stdout);
scanf ("%ld",&n);
scanf ("%ld",&g);
for (i = 1;i <= n; ++i)
scanf("%ld",&obj[i]);
/* for (i = 1; i <= n; ++i)
printf("%ld ",obj[i]);
*/
for (i = 1;i <= g; ++i)
sum[i] = 2000000000;
sum[0] = 0;
for (i = 1;i <= n; ++i)
for (j = g;j >= 0; --j)
if (sum[j] != 2000000000 && j+obj[i] <= g)
if (sum[j + obj[i]] > sum[j] + 1)
sum[j + obj[i]] = sum[j] + 1;
int gasit = 0;
i = g;
while (!gasit)
{
if (sum[i] != 2000000000)
gasit = 1;
else
i--;
}
printf ("%ld %ld",i,sum[i]);
return 0;
}