結果

問題 No.1629 Sorting Integers (SUM of M)
コンテスト
ユーザー ID 21712
提出日時 2026-05-16 01:45:38
言語 Go
(1.26.1)
コンパイル:
env GOCACHE=/tmp go build _filename_
実行:
./Main
結果
AC  
実行時間 6 ms / 2,000 ms
コード長 572 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 12,758 ms
コンパイル使用メモリ 286,544 KB
実行使用メモリ 6,400 KB
最終ジャッジ日時 2026-05-16 01:45:57
合計ジャッジ時間 12,674 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 14
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

package main

import . "fmt"
import . "math/big"

const M = 1e9+7

func main() {
	const E int = 2e5
	ps := make([]int, E+1)
	ps[0] = 1
	for i := 1; i < len(ps); i++ {
		ps[i] = ps[i-1]*i%M
	}
	rs := make([]int, E+1)
	rs[E] = int(new(Int).ModInverse(NewInt(int64(ps[E])),NewInt(M)).Int64())
	for i := E;  i > 0; i-- {
		rs[i-1] = rs[i]*i%M
	}
	
	var n int
	Scan(&n)
	z := 0
	for i := 0; i < n; i++ {
		z = 10*z + 1
		z %= M
	}
	x := ps[n-1]
	y := 0
	for i := 1; i <= 9; i++ {
		var c int
		Scan(&c)
		x = x*rs[c]%M
		y += z*i%M*c%M
		y %= M
	}
	ans := x*y%M
	Println(ans)
}
0