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