Advertisement
shamiul93

Untitled

Mar 26th, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1.  
  2. #include <bits/stdc++.h>
  3. #define llf long long
  4. #define sz 10000+1
  5. #define ln 100
  6. #define md 100000007
  7.  
  8. using namespace std ;
  9. llf a[ln] = {0} ;
  10. llf b [sz] = {0} ;
  11. llf n ;
  12. llf k ;
  13.  
  14. llf dp ()
  15. {
  16. llf i, j ;
  17. for (i = 0 ; i< n ; i++)
  18. {
  19. for (j = 1 ; j<=k ; j++)
  20. {
  21. // llf x = floor (j/a[i]) ;
  22. // x = min (k, x) ;
  23. if (j-a[i]>=0)
  24. b[j] = ((b[j])%md+ (b[j-a[i]])%md )%md ;
  25.  
  26.  
  27. }
  28.  
  29. }
  30. return b[k] ;
  31.  
  32. }
  33.  
  34. int main ()
  35. {
  36. //freopen("w.txt","w",stdout) ;
  37.  
  38. llf total, t = 0;
  39. llf i = 0, j = 0 ;
  40. cin >> total ;
  41. while (total--)
  42. {
  43.  
  44. t++;
  45. for (i = 0 ; i< ln ; i++)
  46. {
  47. a[i] = 0 ;
  48.  
  49. }
  50.  
  51.  
  52. cin >> n >> k ;
  53. for (i = 0 ; i< n ; i++)
  54. {
  55. cin >> a[i] ;
  56. }
  57.  
  58.  
  59. for (j = 0 ; j<sz ; j++)
  60. {
  61. if (j==0)
  62. b[j] = 1 ;
  63.  
  64. else
  65. b[j] = 0 ;
  66. }
  67.  
  68.  
  69. cout << "Case " << t << ": "<< dp ()<< endl ;
  70.  
  71. }
  72. return 0;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement