////No.5 数字のブロック //入力文字読み取り process.stdin.resume(); process.stdin.setEncoding('utf8'); process.stdin.on('data', function (chunk) { //すべて受け取り改行で区切って格納 var inputAllLines = chunk.split("\n"); //箱の長さ var box = Number(inputAllLines[0]) //ブロックの数 var block = Number(inputAllLines[1]) var width = inputAllLines[2].split(" ") //数値に変換 for (var i = 0; i < block; i++) { width[i] = Number(width[i]) } //ソート width.sort(function (a, b) { return a - b; }); var sum = 0 //配列内の小さい数から順に足して、ボックスの大きさを超えるまで繰り返し for (var i = 0; i < width.length; i++) { sum += width[i] if (sum > box) { console.log(i) break; } else if (sum == box) { console.log(i + 1) break; } } });