Advertisement
Guest User

Untitled

a guest
Jul 31st, 2014
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. #include<iostream>
  2. #include<cstdio>
  3. #include<vector>
  4. #include<cstring>
  5. #include<queue>
  6. #include<map>
  7. #include<set>
  8. #include<algorithm>
  9. #include<stack>
  10. #include<cmath>
  11. #include<iomanip>
  12. #include<cstdlib>
  13. using namespace std;
  14. #define f(i,a,b) for(i=a;i<b;i++)
  15. #define rep(i,n) f(i,0,n)
  16. #define pb push_back
  17. #define ss second
  18. #define ff first
  19. #define vi vector<int>
  20. #define vl vector<ll>
  21. #define s(n) scanf("%d",&n)
  22. #define ll long long
  23. #define mp make_pair
  24. #define PII pair <int ,int >
  25. #define PLL pair<ll,ll>
  26. #define inf 1000*1000*1000+5
  27. #define v(a,size,value) vi a(size,value)
  28. #define sz(a) a.size()
  29. #define all(a) a.begin(),a.end()
  30. #define tri pair < int , PII >
  31. #define TRI(a,b,c) mp(a,mp(b,c))
  32. #define xx ff
  33. #define yy ss.ff
  34. #define zz ss.ss
  35. #define in(n) n = inp()
  36. #define vii vector < PII >
  37. #define vll vector< PLL >
  38. #define viii vector < tri >
  39. #define vs vector<string>
  40. #define foreach(v,c) for( typeof((c).begin()) v = (c).begin(); v != (c).end(); ++v)
  41. #define fill(a,v) memset(a,v,sizeof a)
  42. #define printall(a) rep(i,sz(a))cout<<a[i]<<endl;
  43. #define DREP(a) sort(all(a)); a.erase(unique(all(a)),a.end());
  44. #define INDEX(arr,ind) (lower_bound(all(arr),ind)-arr.begin())
  45. #define ok if(debug)
  46. ll pow(ll num,ll power){if(power==0)return 1;if(power==1)return num; ll t = pow(num,power/2);return power%2?t*t*num:t*t;}
  47. int check(int);
  48. int binarysearch(int len)//finds last 1 in 11111000
  49. {int lo = 1,hi = len,mid,flag;while(lo<=hi){mid = hi+lo>>1;(flag = check(mid))?lo = mid+1:hi = mid-1;}return mid-1+flag;}
  50. const int N = 105;
  51. int debug = 1;
  52. int check(int a){return a;}
  53. inline int inp(){int n=0,s=1,c=getchar();if(c=='-')s=-1;while(c<48)c=getchar();while(c>47)n=(n<<3)+(n<<1)+c-'0',c=getchar();return n*s;}
  54. int B,K[N],P[N],n;
  55. void solve(int no[],int index,int sum)
  56. {
  57.  
  58. if(sum > B)return;
  59. int i;
  60. if(sum == B){
  61. rep(i,n)cout<<no[i]<<" ";cout<<endl;
  62. return;
  63. }
  64. if(index >= n)return;
  65. for(i=0;i<=K[index];i++)
  66. {
  67. no[index] = i;
  68. solve(no,index+1,sum + i*P[index]);
  69. }
  70. }
  71. int main()
  72. {
  73. ios::sync_with_stdio(false);
  74. int i,j,t;
  75. cin>>n;
  76. cin>>B;
  77. rep(i,n)cin>>K[i];
  78. rep(i,n)cin>>P[i];
  79. int a[105] = {0};
  80. solve(a,0,0);
  81.  
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement