static void Main(string[] args) { string inputname = args[0]; string outputname = args[1]; string[] lines = File.ReadAllLines(inputname); int ncases = int.Parse(lines[0]); int nline = 0; IList<string> results = new List<string>(); for (int k = 0; k < ncases; k++) { System.Console.WriteLine(string.Format("Solving Case #{0}", k + 1)); nline++; string[] numbers = lines[nline].Split(' '); int maximum = int.Parse(numbers[0]); int reload = int.Parse(numbers[1]); nline++; numbers = lines[nline].Split(' '); List<int> nums = new List<int>(); foreach (var number in numbers) nums.Add(int.Parse(number)); Planner planner = new Planner(maximum, reload); var result = planner.Run(nums); results.Add(string.Format("Case #{0}: {1}", k + 1, result)); } File.WriteAllLines(outputname, results.ToArray()); }
public void GooglePlanner2Run() { Planner planner = new Planner(3, 1); Assert.AreEqual(1, planner.Decide(3, 1, 2)); Assert.AreEqual(1, planner.Decide(3, 2, 3)); Assert.AreEqual(3, planner.Decide(3, 3, 2)); Assert.AreEqual(1, planner.Decide(1, 2, 1)); Assert.AreEqual(15, planner.Run(new int[] { 1, 2, 3, 2, 1 })); }
public void SecondPlannerRun() { Planner planner = new Planner(5, 2); Assert.AreEqual(12, planner.Run(new int[] { 1, 2 })); }
public void GooglePlannerRun() { Planner planner = new Planner(5, 5); Assert.AreEqual(500, planner.Run(new int[] { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 })); }
public void FirstPlannerRun() { Planner planner = new Planner(5, 2); Assert.AreEqual(12, planner.Run(new int[] { 2, 1 })); }
public void ThirdPlannerRun() { Planner planner = new Planner(3, 3); Assert.AreEqual(39, planner.Run(new int[] { 4, 1, 3, 5 })); }