結果
問題 | No.5 数字のブロック |
ユーザー |
|
提出日時 | 2016-02-06 14:28:23 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 3 ms / 5,000 ms |
コード長 | 768 bytes |
コンパイル時間 | 13,908 ms |
コンパイル使用メモリ | 227,244 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-11-18 08:08:40 |
合計ジャッジ時間 | 12,129 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 34 |
ソースコード
package main import "fmt" import "bufio" import "os" import "sort" import "strconv" func loadBlocks(count int, sc *bufio.Scanner) []int { blocks := make([]int, 0) for i := 0; i < count; i++ { sc.Scan() v, e := strconv.Atoi(sc.Text()) if e != nil { panic(e) } blocks = append(blocks, v) } return blocks } func main() { var width int var numberOfBlock int fmt.Scan(&width) fmt.Scan(&numberOfBlock) var sc = bufio.NewScanner(os.Stdin) sc.Split(bufio.ScanWords) blocks := loadBlocks(numberOfBlock, sc) fmt.Println(solve(width, blocks)) } func solve(width int, blocks []int) int { sort.Ints(blocks) current := 0 count := 0 for _, v := range blocks { if current + v > width { break } count++ current += v } return count }