C# - Just loop through each possible seconds
```csharp\npublic class Solution \n{\n    public int MinCostSetTime(int startAt, int moveCost, int pushCost, int targetSeconds)\n    {\n        int result = int
```csharp\npublic class Solution \n{\n    public int MinCostSetTime(int startAt, int moveCost, int pushCost, int targetSeconds)\n    {\n        int result = int.MaxValue;\n        \n        for (int i = 0; i <= 99 && i <= targetSeconds; i++)\n        {           \n            if ((targetSeconds - i) % 60 == 0)\n            {\n                int m = ((targetSeconds - i) / 60) * 100 + i;\n\n                int onM = m switch\n                {\n                    < 10 => oneDigit(startAt, moveCost, pushCost, m),\n                    < 100 => twoDigit(startAt, moveCost, pushCost, m),\n                    < 1000 => threeDigit(startAt, moveCost, pushCost, m),\n                    < 10000 => fourDigit(startAt, moveCost, pushCost, m),\n                    _ => int.MaxValue\n                };\n\n                result = Math.Min(result, onM);\n            }\n        }\n        \n        return result;\n    }\n\n    private int oneDigit(int startAt, int moveCost, int pushCost, int num)\n    {\n        int digit = num % 10;\n        return (startAt == digit ? 0 : moveCost) + pushCost;\n    }\n\n    private int twoDigit(int startAt, int moveCost, int pushCost, int num)\n    {\n        int first = num / 10;\n        int second = num % 10;\n        return (startAt == first ? 0 : moveCost) + (first == second ? 0 : moveCost) + 2 * pushCost;\n    }\n\n    private int threeDigit(int startAt, int moveCost, int pushCost, int num)\n    {\n        List<int> digits = new List<int>();\n        while (num > 0)\n        {\n            digits.Add(num % 10);\n            num /= 10;\n        }\n\n        int first = digits[^1];\n        int second = digits[^2];\n        int third = digits[^3];\n        int current = (startAt == first ? 0 : moveCost) + (first == second ? 0 : moveCost)\n                 + (second == third ? 0 : moveCost) + 3 * pushCost;\n\n        return current;\n    }\n\n    private int fourDigit(int startAt, int moveCost, int pushCost, int num)\n    {\n        List<int> digits = new List<int>();\n        while (num > 0)\n        {\n            digits.Add(num % 10);\n            num /= 10;\n        }\n\n        int first = digits[^1];\n        int second = digits[^2];\n        int third = digits[^3];\n        int fourth = digits[^4];\n        int current = (startAt == first ? 0 : moveCost) + (first == second ? 0 : moveCost)\n                 + (second == third ? 0 : moveCost) + (third == fourth ? 0 : moveCost)\n                 + 4 * pushCost;\n\n        return current;\n    }\n}\n````
[]