Advertisement
kdzhr

1005

Feb 20th, 2020
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.91 KB | None | 0 0
  1. // OK Tumus 1005 brute force https://acm.timus.ru/problem.aspx?space=1&num=1005
  2.  
  3. # include <iostream>
  4. # include <vector>
  5. using namespace std;
  6.  
  7. void gen(vector<size_t> &m, size_t cur_i, vector<size_t> bits, size_t &n, size_t &res) {
  8.     if (cur_i == n) {
  9.         size_t sum[2] = {0, 0};
  10.         for (size_t i = 0; i < n; i++) {
  11.             sum[bits[i]] += m[i];
  12.         }
  13.         res = min(res, static_cast<size_t>(abs(static_cast<int32_t>(sum[0] - sum[1]))));
  14.     }
  15.     else {
  16.         bits.push_back(0);
  17.         gen(m, cur_i + 1, bits, n, res);
  18.         bits.pop_back();
  19.         bits.push_back(1);
  20.         gen(m, cur_i + 1, bits, n, res);
  21.     }
  22. }
  23. int main() {
  24.     size_t n;
  25.     cin >> n;
  26.     vector<size_t> m(n);
  27.     vector<size_t> bits;
  28.     size_t result = 1000000000;
  29.     for (size_t i = 0; i < n; i++) {
  30.         cin >> m[i];
  31.     }
  32.     gen(m, 0, bits, n, result);
  33.     cout << result;
  34.     return 0;
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement