Maximum Sized Array - Problem

You are a data structure architect tasked with creating the largest possible 3D array while staying within memory constraints!

Given a positive integer s representing your memory budget, you need to determine the maximum size n for a 3D array A of dimensions n × n × n.

Each element in the array is calculated using a special formula: A[i][j][k] = i * (j OR k), where 0 ≤ i, j, k < n and OR is the bitwise OR operation.

Your goal is to find the maximum possible value of n such that the sum of all elements in array A does not exceed s.

Example: If s = 10, you need to find the largest n where the total sum of all elements ≤ 10.

Input & Output

example_1.py — Small Budget
$ Input: s = 8
Output: 2
💡 Note: For n=2: A[0][0][0]=0, A[0][0][1]=0, A[0][1][0]=0, A[0][1][1]=0, A[1][0][0]=0, A[1][0][1]=1, A[1][1][0]=1, A[1][1][1]=1. Sum = 3 ≤ 8. For n=3, sum would be much larger, so answer is 2.
example_2.py — Larger Budget
$ Input: s = 100
Output: 4
💡 Note: The largest 4×4×4 array has sum ≤ 100, but a 5×5×5 array would exceed the budget.
example_3.py — Minimal Budget
$ Input: s = 1
Output: 1
💡 Note: Only a 1×1×1 array fits: A[0][0][0] = 0*(0|0) = 0 ≤ 1. Any larger array would exceed budget.

Constraints

  • 1 ≤ s ≤ 109
  • The answer n will be at most 1000 for given constraints
  • Note: Be careful with integer overflow when calculating sums

Visualization

Tap to expand
n×n×n Array0i*(j|k)......Budget ConstraintSum ≤ sMust fit
Understanding the Visualization
1
Understand Formula
Each cell A[i][j][k] = i * (j OR k) - the value depends on position and bitwise OR
2
Calculate Total
Sum all cells in the n×n×n cube to get total cost
3
Binary Search
Efficiently find the largest n where total ≤ budget
Key Takeaway
🎯 Key Insight: Binary search leverages the monotonic relationship between array size and total sum, allowing us to efficiently find the maximum feasible dimension in O(n² log n) time instead of O(n⁴).
Asked in
Google 42 Meta 38 Amazon 35 Microsoft 29
31.4K Views
Medium Frequency
~28 min Avg. Time
856 Likes
Ln 1, Col 1
Smart Actions
💡 Explanation
AI Ready
💡 Suggestion Tab to accept Esc to dismiss
// Output will appear here after running code
Code Editor Closed
Click the red button to reopen