h(y)として定義された関数を とします(a*y+b)mod m。したがってh(y)、値を取ることができますfrom 0 to m-1.
。これで、7 つの整数が与えられますa,b,x,n,c,d,m。h(x),h(x+1),h(x+2)...h(x+n)私たちのタスクは、 の値がh(x+i)の範囲に収まる[c,d]ようなの合計数を見つけることです。ここで、0<=i<=n
整数の制限は次のとおりです。
1 ≤ m ≤ 10^15, c ≤ d < m, a,b < m, x+n ≤ 10^15, and a*(x+n) + b ≤ 10^15
例えば。入力set {1,0,0,8,0,8,9}の場合、出力は 9 である必要があります。効率的なアルゴリズムを提案してください。ありがとう!!!