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