3984. Divisible Game
Description
You are given an integer array nums of length n.
Alice and Bob are playing a game. Alice chooses:
- An integer
ksuch thatk > 1. - Two integers
landrsuch that0 <= l <= r < n.
Initially, both Alice's and Bob's scores are 0.
For each index i in the range [l, r] (inclusive):
- If
nums[i]is divisible byk, Alice's score increases bynums[i]. - Otherwise, Bob's score increases by
nums[i].
The score difference is Alice's score minus Bob's score.
Alice wants to maximize the score difference. If there are multiple values of k that achieve the maximum score difference, she chooses the smallest such k.
Return the product of the maximum score difference and the chosen value of k. Since the result can be large, return it modulo 109 + 7.
Β
Example 1:
Input: nums = [1,4,6,8]
Output: 36
Explanation:
- Alice can choose
k = 2,l = 1, andr = 3. - All values in
nums[1..3]are divisible by 2, so Alice's score is4 + 6 + 8 = 18, while Bob's score is 0. - The score difference is 18, which is the maximum possible. Among all values of
kthat achieve this score difference, the smallest is 2. - Therefore, the answer is
18 * 2 = 36.
Example 2:
Input: nums = [2,1,2]
Output: 6
Explanation:
- Alice can choose
k = 2,l = 0, andr = 2. - The values
nums[0]andnums[2]are divisible by 2, so Alice's score is2 + 2 = 4. The valuenums[1]is not divisible by 2, so Bob's score is 1. - The score difference is
4 - 1 = 3, which is the maximum possible. Among all values ofkthat achieve this score difference, the smallest is 2. - Therefore, the answer is
3 * 2 = 6.
Example 3:
Input: nums = [1]
Output: 1000000005
Explanation:
- Alice must choose some
k > 1. The smallest possible choice isk = 2. - Since
nums[0]is not divisible by 2, Alice's score is 0, while Bob's score is 1. - The score difference is -1, which is the maximum possible.
- Therefore, the answer is
-1 * 2 = -2. Modulo109 + 7, this equals 1000000005.
Β
Constraints:
1 <= nums.length <= 10001 <= nums[i] <= 106
Solutions
Solution 1
1 | |
1 | |
1 | |
1 | |