Assign Elements to Groups with Constraints
You are given an integer array groups, where groups[i] represents the size of the i^th group. You are also given an integer array elements.
Your task is to assign one element to each group based on the following rules:
- An element at index
jcan be assigned to a groupiifgroups[i]is divisible byelements[j]. - If there are multiple elements that can be assigned, assign the element with the smallest index
j. - If no element satisfies the condition for a group, assign
-1to that group.
Return an integer array assigned, where assigned[i] is the index of the element chosen for group i, or -1 if no suitable element exists.
Note: An element may be assigned to more than one group.
Example 1
Input
groups = [8,4,3,2,4], elements = [4,2]Output
[0,0,-1,1,0]elements[0] = 4 is assigned to groups 0, 1, and 4, elements[1] = 2 is assigned to group 3, and group 2 cannot be assigned any element.Example 2
Input
groups = [2,3,5,7], elements = [5,3,3]Output
[-1,1,0,-1]elements[1] = 3 is assigned to group 1, elements[0] = 5 is assigned to group 2, and groups 0 and 3 cannot be assigned any element.Constraints
- 1 <= groups.length <= 10^5
- 1 <= elements.length <= 10^5
- 1 <= groups[i] <= 10^5
- 1 <= elements[i] <= 10^5