## 問題
考察
最近、B問題を落とすようになってきた。
こういった問題は、解答に対して全文検索するパターンなのだが、その発想が思い浮かばない。。。
まだまだ、修行が足りないと感じる。
解答
package main import ( "bufio" "fmt" "os" "sort" ) func main() { in := bufio.NewReader(os.Stdin) out := bufio.NewWriter(os.Stdout) defer out.Flush() var n, x int fmt.Fscan(in, &n) fmt.Fscan(in, &x) a := make([]int, n) b := make([]int, n) for i := 0; i < n-1; i++ { fmt.Fscan(in, &a[i]) } ans := -1 for i := 0; i <= 100; i++ { // ソートはコピーした配列に対して行うこと copy(b, a) b[n-1] = i sort.Ints(b) sum := 0 for j := 1; j < n-1; j++ { sum += b[j] } if x <= sum { ans = i break } } fmt.Fprintln(out, ans) }