complete 11057.kt 15835.kt 20411.kt 25345.kt 28242.kt 32628.kt
This commit is contained in:
25
storage/zeta/kt/completed/20411.kt
Normal file
25
storage/zeta/kt/completed/20411.kt
Normal file
@@ -0,0 +1,25 @@
|
||||
fun main() = with(System.`in`.bufferedReader()) {
|
||||
val iter = this.readLine().split(" ").iterator()
|
||||
|
||||
val m = iter.next().toLong()
|
||||
val seed = iter.next().toLong()
|
||||
val x1 = iter.next().toLong()
|
||||
val x2 = iter.next().toLong()
|
||||
|
||||
// x1 = (a * seed + c) % m
|
||||
// x2 = (a * x1 + c) % m
|
||||
|
||||
(0 until m).asSequence().map { a ->
|
||||
val t = (a * seed) % m
|
||||
val c = if (t <= x1) {
|
||||
x1 - t
|
||||
} else {
|
||||
m - (t - x1)
|
||||
}
|
||||
a to c
|
||||
}.first { (a, c) ->
|
||||
x2 == (a * x1 + c) % m
|
||||
}.let { (a, c) ->
|
||||
println("$a $c")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user