fork(1) download
  1. import java.io.*;
  2. import java.util.*;
  3. public class Main{
  4. public static void main(String[] args) throws Exception{
  5. int n;
  6. n=Integer.parseInt(s.readLine());
  7. for(int t=0;t<n;t++){
  8. String[] m;
  9. m=s.readLine().split(" ");
  10. int value=Integer.valueOf(m[1]);
  11. int[] v=new int[Integer.valueOf(m[0])];
  12. if(Integer.valueOf(m[0])>20){
  13. System.out.println("No");
  14. break;
  15. }
  16. for(int i=0;i<Integer.valueOf(m[0]);i++){
  17. int cv =Integer.parseInt(s.readLine());
  18. if(cv>1000){
  19. System.out.println("No");
  20. break;
  21. }else{
  22. v[i]=cv;
  23. }
  24. }
  25. Arrays.sort(v);
  26. //for(int i=v.length-1;i>=0;i--){
  27. //System.out.println("i = "+i +" value ="+v[i]);
  28. //}
  29. boolean ca=false;
  30. for(int i=v.length-1;i>=0;i--){
  31. int sum=0;
  32. //System.out.println(" from value = "+v[i]);
  33. for(int j=v.length-1;j>=0;j--){
  34. //System.out.println("checking value 1 = "+ sum +" value 2 = "+ v[j] );
  35. if(sum<=value && sum+v[j]<=value){
  36. //if(v[j]<=value)
  37. // System.out.println();
  38. // System.out.println("acctual");
  39. // System.out.println("value 1 = "+ sum +" value 2 = "+ v[j] );
  40. sum=sum+v[j];
  41. // System.out.println(" sum value = "+sum);
  42. }
  43. }
  44. if(sum==value){ca=true;break;}
  45. }
  46. if(ca==true){
  47. System.out.println("Yes");
  48. }
  49. else{
  50. System.out.println("No");
  51. }
  52.  
  53. }
  54.  
  55. }
  56. }
Success #stdin #stdout 0.07s 380224KB
stdin
1
3 4
2
2
3
stdout
No