helloIamCristiano's blog

By helloIamCristiano, history, 21 month(s) ago, In English

Given 2 arrays A and B of size m and n respectively. The array A is extended by concatenating n copies of A to itself and array B is extended by concatenating m copies of B to itself, thus the new size of each array is m*n. Find the sum abs(A[i]-B[i]) for i from 0 to m*n-1.

Constraints :-
A[i], B[i] <= 50 and Length of the arrays A, B < 1e5

  • Vote: I like it
  • -10
  • Vote: I do not like it

| Write comment?
»
21 month(s) ago, # |
  Vote: I like it +3 Vote: I do not like it

For each element in $$$A$$$, you can find the set of indices it ,matches to in $$$B$$$. This set will be same for all $$$A_i$$$ where $$$i = k . gcd(n,m)$$$ and disjoint from other indices. Then you just sort and use prefix sums + binary search for the value at each index of $$$A$$$.