結果

問題 No.5 数字のブロック
ユーザー tsuchinaga
提出日時 2019-02-21 12:18:39
言語 Go
(1.23.4)
結果
AC  
実行時間 54 ms / 5,000 ms
コード長 425 bytes
コンパイル時間 15,626 ms
コンパイル使用メモリ 236,308 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-11-18 12:57:02
合計ジャッジ時間 15,295 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 34
権限があれば一括ダウンロードができます

ソースコード

diff #

package main

import (
	"fmt"
	"sort"
)

func main() {
	var l, n, w int
	_, _ = fmt.Scan(&l, &n)

	blocks := make([]int, n)
	for i := range blocks {
		_, _ = fmt.Scan(&w)
		blocks[i] = w
	}

	sort.Slice(blocks, func(i, j int) bool {
		return blocks[i] < blocks[j]
	})

	sum := 0
	cnt := -1
	for i, w := range blocks {
		if sum+w > l {
			cnt = i
			break
		}

		sum += w
	}

	if cnt == -1 {
		cnt = n
	}

	fmt.Println(cnt)
}
0