Cod sursa(job #18081)
Utilizator | Mircea Pasoi domino | Data | 18 februarie 2007 02:47:53 |
---|---|---|---|
Problema | Ghiozdan | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <stdio.h>
int N, G, cnt[256], sol[20000], ns;
int main(void)
{
int i, g, x;
freopen("ghiozdan.in", "r", stdin);
freopen("ghiozdan.out", "w", stdout);
scanf("%d %d", &N, &G);
for (i = 0; i < N; i++)
{
scanf("%d", &x);
cnt[x]++;
}
for (i = 200, g = G; i > 0; i--)
for (; g >= i && cnt[i]; cnt[i]--, g -= i)
sol[ns++] = i;
printf("%d %d\n", G-g, ns);
for (i = 0; i < ns; i++)
printf("%d\n", sol[i]);
return 0;
}