Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1.  
  2. #include <iostream>
  3. #include <vector>
  4.  
  5.  
  6. void print(std::vector<std::vector<int>> &arr,int B, std::vector<int> &arr2)
  7. {
  8. int n = arr.size();
  9.  
  10. int* indices = new int[n];
  11.  
  12. for (int i = 0; i < n; i++)
  13. indices[i] = 0;
  14.  
  15. while (1) {
  16. int suma=0;
  17. for (int i = 0; i < n; i++)
  18. {
  19. suma+=arr[i][indices[i]];
  20. }
  21. if(B-suma>=0)
  22. {
  23. arr2.push_back(suma);
  24.  
  25. }
  26.  
  27. int next = n - 1;
  28. while (next >= 0 &&
  29. (indices[next] + 1 >= arr[next].size()))
  30. next--;
  31. if (next < 0)
  32. return;
  33.  
  34. indices[next]++;
  35.  
  36. for (int i = next + 1; i < n; i++)
  37. indices[i] = 0;
  38. }
  39. }
  40.  
  41.  
  42. int main()
  43. {
  44. std::ios::sync_with_stdio(false);
  45.  
  46. int T,B,N;
  47.  
  48. std::cin>>T;
  49.  
  50. for(int z=0;z<T;z++)
  51. {
  52. B=0;N=0;
  53. std::cin>>B>>N;
  54.  
  55. std::vector<std::vector<int>> arr;
  56. std::vector<int> arr2;
  57.  
  58. for(int i=0;i<N;i++)
  59. {
  60. int temp;
  61. std::cin>>temp;
  62. std::vector<int> row;
  63. for(int i=0;i<temp;i++)
  64. {
  65. row.push_back(0);
  66. }
  67. arr.push_back(row);
  68. }
  69.  
  70. for(int i=0;i<N;i++)
  71. {
  72. for(int j=0;j<arr.at(i).size();j++)
  73. {
  74. int temp;
  75. std::cin>>temp;
  76. arr.at(i).at(j)=temp;
  77. }
  78. }
  79.  
  80. print(arr,B,arr2);
  81. arr.clear();
  82. int biggest=0;
  83. for(int i=0;i<arr2.size();i++)
  84. {
  85. if(biggest<=arr2.at(i)) {biggest=arr2[i];}
  86. }
  87. std::cout<<biggest<<std::endl;
  88. arr2.clear();
  89. }
  90.  
  91. return 0;
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement