Problem:
Score : 300 points

Problem Statement

Given is a positive integer L.
Find the maximum possible volume of a rectangular cuboid whose sum of the dimensions (not necessarily integers) is L.

Constraints

1 ≤ L ≤ 1000

L is an integer.

Input

Input is given from Standard Input in the following format:

L

Output

Print the maximum possible volume of a rectangular cuboid whose sum of the dimensions (not necessarily integers) is L.
Your output is considered correct if its absolute or relative error from our answer is at most 10^{-6}.

Sample Input 1

3

Sample Output 1

1.000000000000

For example, a rectangular cuboid whose dimensions are 0.8, 1, and 1.2 has a volume of 0.96.

On the other hand, if the dimensions are 1, 1, and 1, the volume of the rectangular cuboid is 1, which is greater.

Sample Input 2

999

Sample Output 2

36926037.000000000000

Solution in C# (.NET Core 3.1.201) (judge verdict: Time Limit Exceeded)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ABC159C
{
    class Program
    {
        static void Main(string[] args)
        {
            decimal L = decimal.Parse(Console.ReadLine());
            decimal max = 0;
            decimal xmax = 0;
            decimal ymax = 0;
            decimal zmax = 0;
            for (decimal x = 0; x <= L; x++)
            {
                for (decimal y = 0; y <= L - x; y++)
                {
                    decimal z = L - x - y;
                    decimal volume = x * y * z;
                    if (volume >= max)
                    {
                        max = volume;
                        xmax = x;
                        ymax = y;
                        zmax = z;
                    }
                }
            }
            for(decimal x = Math.Min(xmax-1,0); x <= xmax + 1; x += 0.001m)
            {
                for (decimal y = Math.Min(ymax-1,0) ; y <= L-x; y += 0.001m)
                {
                    decimal z = L - x - y;
                    decimal volume = x * y * z;
                    if (volume >= max)
                    {
                        max = volume;
                    }
                }
            }
            Console.WriteLine(max);
        }
    }
}