Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <math.h>
- #include <stdlib.h>
- #include <ctype.h>
- int maxind, polje[50];
- int fun (int suma, int ind){
- int min, i, tmp;
- if (ind >= maxind || suma - polje[ind] < 0)
- return 100000;
- if (suma - polje[ind] == 0)
- return 1;
- min = 100000;
- for (i = ind + 1; i < maxind; i++){
- tmp = 1 + fun (suma - polje[ind], i);
- if (tmp < min) min = tmp;
- }
- return min;
- }
- int main()
- {
- int t, i, m, n, j;
- scanf ("%d", &t);
- for (i = 0; i < t; i++){
- maxind = 1;
- scanf ("%d %d", &n, &m);
- for (j = 0; j < n; j++){
- scanf ("%d", &polje[maxind]);
- if (polje[maxind] <= m)
- maxind++;
- }
- if (fun (m, 0) < 100000)
- printf ("Yes\n");
- else
- printf ("No\n");
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment