fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. bool isSubsetSum(long long int set[],long long int n,long long int sum)
  4. {
  5. bool subset[n+2][sum+2];
  6. for (long long int i=0;i<=n;i++){
  7. subset[i][0]=true;
  8. }
  9. for (long long int i=1;i<=sum;i++)
  10. {
  11. subset[0][i]=false;
  12. }
  13. for(long long int i=1;i<=n;i++){
  14. for (long long int j=1;j<=sum;j++)
  15. {
  16. if (j<set[i-1])
  17. subset[i][j]=subset[i-1][j];
  18. if (j>=set[i-1])
  19. subset[i][j]=(subset[i-1][j] || subset[i-1][j-set[i-1]]);
  20. }}
  21. return subset[n][sum];
  22. }
  23. vector<int> solve (long long int A0, vector<long long> X, long long int N,long long int Q) {
  24. long long int arr[N];
  25. arr[0]=A0;
  26. for (long long int i=1;i<N;i++){
  27. if (i%2==0)
  28. {
  29. arr[i]=2*arr[i-1]+3*arr[i-2];
  30. }
  31. else
  32. {
  33. arr[i]=3*arr[i-1]+1;
  34. }
  35. }
  36. long long int q=0;
  37. bool ans;
  38. vector <int>a;
  39. for (long long int i=0;i<Q;i++)
  40. {
  41. ans=isSubsetSum(arr,N,X[i]);
  42. if (ans==true){
  43. a.push_back(1);
  44. }
  45. else{
  46. a.push_back(0);
  47. }
  48. }
  49. return a;
  50. }
  51.  
  52. int main()
  53. { ios::sync_with_stdio(0);
  54. cin.tie(0);
  55. int T;
  56. cin >> T;
  57. for(int t_i=0; t_i<T; t_i++)
  58. { int N;
  59. cin >> N;
  60. int A0;
  61. cin >> A0;
  62. int Q;
  63. cin >> Q;
  64. vector<long long> X(Q);
  65. for(int i_X=0; i_X<Q; i_X++)
  66. {
  67. cin >> X[i_X];
  68. }
  69.  
  70. vector<int> ans = solve(A0, X, N, Q);
  71. for(int i=0;i<ans.size();i++)
  72. { if(ans[i]) cout<<"true"<<endl ;
  73. else cout<<"false"<<endl ;
  74. }
  75. }
  76. }
Runtime error #stdin #stdout #stderr 0.04s 63104KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
  File "prog.py", line 2
    using namespace std;
          ^
SyntaxError: invalid syntax