Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int const maxm = 25;
- int m, d[maxm];
- int main()
- {
- scanf("%d", &m);
- for(int i = 0; i < m; i++) scanf("%d", &d[i]);
- int ans = m + 1; // bound
- for(int i = 0; i < (1 << m); i++) {
- vector<int> pos;
- pos.push_back(0);
- for(int j = 0; j < m; j++)
- pos.push_back(pos.back() + ((i>>j & 1)? d[j] : -d[j]));
- sort(pos.begin(), pos.end());
- ans = min(ans, (int)(unique(pos.begin(), pos.end()) - pos.begin()));
- }
- printf("%d\n", ans);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement