Pagini recente » Cod sursa (job #1737018) | Cod sursa (job #1690280) | Cod sursa (job #1697766) | Cod sursa (job #1652642) | Cod sursa (job #93218)
Cod sursa(job #93218)
#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;
}