結果

問題 No.634 硬貨の枚数1
ユーザー tsuchinaga
提出日時 2019-04-05 00:02:58
言語 Go
(1.23.4)
結果
WA  
実行時間 -
コード長 499 bytes
コンパイル時間 11,895 ms
コンパイル使用メモリ 233,796 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-12-28 08:32:22
合計ジャッジ時間 14,311 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 8 WA * 66 RE * 1
権限があれば一括ダウンロードができます

ソースコード

diff #

package main

import "fmt"

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

	// n以下のコインを洗い出す
	coins := make([]int, 0)
	for i := 1; i < n; i++ {
		c := i * (i + 1) / 2
		if c <= n {
			coins = append(coins, c)
		} else {
			break
		}
	}

	// fmt.Println(coins)

	ans := 1
	n -= coins[len(coins)-1]
	for n > 0 {
		last := coins[0]
		for _, c := range coins {
			if c > n {
				break
			}
			last = c
		}

		n -= last
		ans++
		// fmt.Println(ans, last, n)
	}

	fmt.Println(ans)
}
0