Wooph

plata1

Mar 10th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.99 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. int n, maxim, ok = 1, S, v [11], c [11], x [11];
  7.  
  8. void read ()
  9. {
  10.     cin >> n >> S;
  11.     for (int i = 1; i <= n; i ++)
  12.         cin >> v [i];
  13.  
  14.     for (int i = 1; i <= n; i ++)
  15.     {
  16.         cin >> c [i];
  17.         if (c [i] > maxim)
  18.             maxim = c [i];
  19.     }
  20. }
  21.  
  22. void write ()
  23. {
  24.     for (int i = 1; i <= n; i ++)
  25.         cout << x [i] << " ";
  26. }
  27.  
  28. int check (int k)
  29. {
  30.     if (c [k] < x [k])
  31.         return 0;
  32.  
  33.     return 1;
  34. }
  35.  
  36. int sum ()
  37. {
  38.     int s = 0;
  39.     for (int i = 1; i <= n; i ++)
  40.         s += x [i] * v [i];
  41.  
  42.     return s;
  43. }
  44.  
  45. void back (int k)
  46. {
  47.     if (sum() == S)
  48.     {
  49.         write ();
  50.         ok = 0;
  51.     }
  52.  
  53.     else
  54.     {
  55.         if (ok)
  56.             for (int i = 1; i <= maxim; i ++)
  57.             {
  58.                 x [k] = i;
  59.                 if (check (k))
  60.                     back (k + 1);
  61.             }
  62.     }
  63. }
  64.  
  65. int main()
  66. {
  67.     read ();
  68.     back (1);
  69.     return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment