#P5004. 「长乐集训 2017 Day2」冒泡排序
「长乐集训 2017 Day2」冒泡排序
Description
冒泡排序是一种简单的排序方式,其过程如下:
对 到 的序列进行冒泡排序:
counter = 0
While A 不是有序的
counter = counter + 1
For i = 1 to (n - 1)
If A[i] > A[i + 1]
Then Swap(A[i], A[i + 1])
End If
End For
End While
现在给定一个排列 ,求冒泡排序几轮后序列会有序。
Input Format
仅一行五个整数 。
表示序列长度, 数组由以下方式生成:
For i = 1 to n
A[i] = i
S = (S * B + C) mod D
Swap(A[i], A[(S mod i) + 1])
End For
Output Format
仅一行一个整数表示答案
Sample
样例输入
4 5 7 9 13
样例输出
2
Hint
的数据,
的数据,
的数据,
的数据,$ 1 \leq n \leq 3 \times 10 ^ 7 , 0 \leq S, B, C < D \leq 10 ^ 9 + 7 $