VOOZH about

URL: https://www.geeksforgeeks.org/dsa/minimum-perimeter-n-blocks/

⇱ Minimum Perimeter of n blocks - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Minimum Perimeter of n blocks

Last Updated : 12 Apr, 2025

We are given n blocks of size 1 x 1, we need to find the minimum perimeter of the grid made by these blocks.
Examples :

Input : n = 4
Output : 8
Minimum possible perimeter with 4 blocks
is 8. See below explanation.

Input : n = 11
Output : 14
The square grid of above examples would be as

👁 Image

Let us take an example to see a pattern. Let us say that we have 4 blocks, following are different possibilities 

 +--+--+--+--+
| | | | | Perimeter = 10
+--+--+--+--+

+--+--+--+
| | | | Perimeter = 10
+--+--+--+
| |
+--+

+--+--+--+
| | | | Perimeter = 10
+--+--+--+
| |
+--+


+--+--+
| | | Perimeter = 8
+--+--+
| | |
+--+--+


If we do some examples using pen and paper, we can notice that the perimeter becomes minimum when the shape formed is closest to a square. The reason for this is, we want maximum sides of blocks to face inside the shape so that perimeter of the shape becomes minimum.
If the Number of blocks is a perfect square then the perimeter would simply be 4*sqrt(n). 
But, if the Number of blocks is not a perfect square root then we calculate number of rows and columns closest to square root. After arranging the blocks in a rectangular we still have blocks left then we will simply add 2 to the perimeter because only 2 extra side would be left. 
The implementation of the above idea is given below.

Output :

14

Time complexity : O(logn) 
Auxiliary Space : O(1)


Comment