func main() { 数値入力待ち:変数L } var L: int :: cui@inputInt() { 数値入力待ち:変数N } var N: int :: cui@inputInt() { スペース区切りの文字列を数値配列Wに格納 } var _: [][]char :: cui@input().split(" ") var W: []int :: #[N]int for i(0, N - 1) do W[i] :: _[i].toInt(&) end for { 配列Wの内容を昇順に並べ替え(バブルソート) } var temp: int for i(0, N - 1) for j(i + 1, N - 1) if(W[i] > W[j]) do temp :: W[i] do W[i] :: W[j] do W[j] :: temp end if end for end for { i = 0 to N-1 } var sum: int :: 0 for i(0, N - 1) { W[i]の総和をsumに格納 } do sum :+ W[i] { sum>L } if(sum > L) { iの値を出力 } do cui@print("\{i}") ret end if end for { Nの値を出力 } do cui@print("\{N}") end func