結果
問題 | No.1681 +-* |
ユーザー |
|
提出日時 | 2025-04-12 15:19:27 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 119 ms / 2,000 ms |
コード長 | 658 bytes |
コンパイル時間 | 13,682 ms |
コンパイル使用メモリ | 234,864 KB |
実行使用メモリ | 7,844 KB |
最終ジャッジ日時 | 2025-04-12 15:19:47 |
合計ジャッジ時間 | 16,197 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 18 |
ソースコード
package main import ( "bufio" . "fmt" "io" "os" ) // https://space.bilibili.com/206214 func p12137(in io.Reader, out io.Writer) { const mod = 1_000_000_007 pow := func(x, n int) int { res := 1 for ; n > 0; n /= 2 { if n%2 > 0 { res = res * x % mod } x = x * x % mod } return res } var n, v, ans int Fscan(in, &n) pow3 := pow(3, n-2) const inv3 = 333333336 s := 1 for i := 0; i < n; i++ { Fscan(in, &v) s = s * v % mod if i < n-1 { ans = (ans + s*2*pow3) % mod pow3 = pow3 * inv3 % mod } else { ans = (ans + s) % mod } } Fprint(out, ans) } func main() { p12137(bufio.NewReader(os.Stdin), os.Stdout) }