#include #include #include #include #include #include #include #include #include #include using namespace std; #define for if(0);else for typedef int state; int solve(const vector& stones) { const state mx = 1 << stones.size(); int mindiff = INT_MAX; for(register state s = 0; s < mx; s++) { int l = 0, r = 0; for(int i = 0, j = s; i < stones.size(); i++, j >>= 1) if(j & 1) r += stones[i]; else l += stones[i]; if(abs(l - r) < mindiff) mindiff = abs(l - r); } return mindiff; } int main() { int N; cin >> N; vector stones; for(int i = 0; i < N; i++) { int w; cin >> w; stones.push_back(w); } cout << solve(stones) << endl; return 0; }