Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int findd(int data){
- int l = 1, r = n;
- while (r - l > 1){
- int mid = (l + r) >> 1;
- if (q[mid] > data)
- r = mid;
- else l = mid;
- }
- if (q[l] == data) return l;
- if (q[r] == data) return r;
- return 0;
- }
- ++n;
- x[1] = a+b; q[1] = a+b;
- x[2] = a-b; q[2] = a-b;
- for (int i = 3; i <= n; ++i){
- x[i] = (a*x[i-2] + b*x[i-1])%m;
- q[i] = x[i];
- }
- for (int i = 1; i <= n; ++i)
- x[i] = findd(x[i]);
Add Comment
Please, Sign In to add comment