結果
| 問題 |
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
}