我是用 bitset 來寫的,雖然題目沒寫 我就先估測資最大總和是 50000 那可以知道 全部插入加減後的最大最小值分別就是正負50000
所有數平移50000 讓他全部都是正的
然後在bitset[50000]=1
每次經過一個就把他分別往左移右移 這樣就可以知道了
bitset<101015> bs,temp;
bs[50000]=1;
for(int i=1;i<=n;i++){
temp = bs>>ary[i];
bs = bs<<ary[i];
bs|=temp;
}