結果
| 問題 |
No.1359 [Zelkova 3rd Tune] 四人セゾン
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2021-12-17 15:18:00 |
| 言語 | Go (1.23.4) |
| 結果 |
AC
|
| 実行時間 | 792 ms / 2,000 ms |
| コード長 | 1,198 bytes |
| コンパイル時間 | 16,092 ms |
| コンパイル使用メモリ | 229,172 KB |
| 実行使用メモリ | 12,544 KB |
| 最終ジャッジ日時 | 2024-09-14 16:14:49 |
| 合計ジャッジ時間 | 62,041 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 75 |
ソースコード
package main
import (
"fmt"
"bufio"
"os"
"sort"
)
func modpow(x int, n int, m int) int {
var ret int = 1
for n > 0 {
if (n & 1) != 0 {
ret = ret * x % m
}
x = x * x % m
n >>= 1
}
return ret
}
func Min(a int, b int) int {
if a <= b {
return a
} else {
return b
}
}
func Max(a int, b int) int {
if a >= b {
return a
} else {
return b
}
}
func main() {
r := bufio.NewReader(os.Stdin)
w := bufio.NewWriter(os.Stdout)
defer w.Flush()
var N, K, M int
fmt.Fscan(r, &N, &K, &M)
P := make([]int, N)
for i := 0; i < N; i++ {
var x int
fmt.Fscan(r, &x)
P[i] = x
}
sort.Ints(P)
E := make([]int, N)
for i := 0; i < N; i++ {
var x int
fmt.Fscan(r, &x)
E[i] = x
}
sort.Ints(E)
A := make([]int, N)
for i := 0; i < N; i++ {
var x int
fmt.Fscan(r, &x)
A[i] = x
}
sort.Ints(A)
H := make([]int, N)
for i := 0; i < N; i++ {
var x int
fmt.Fscan(r, &x)
H[i] = x
}
sort.Ints(H)
D := 0
min := 0
max := 1
for i := 0; i < N; i++ {
p := P[i]
e := E[i]
min = Min(p, e)
max = Max(p, e)
a := A[i]
h := H[i]
min = Min(min, Min(a, h))
max = Max(max, Max(a, h))
D = (D + modpow(max - min, K, M)) % M
}
fmt.Fprintln(w, D)
}