第一题法师是不是: if (k>=n) return s[n-1]; int tmp=-1; int left=0,right=2n-2k-1; while(left<=right){ tmp=max(tmp,s[left]+s[right]); ++left;--right; } return max(tmp.s[n-1]);