You are viewing a single comment's thread. Return to all comments →
Here is my c# code, dont use Queue.Sum() and Queue.Count().
string[] tokens_n1 = Console.ReadLine().Split(' '); int n1 = Convert.ToInt32(tokens_n1[0]); int n2 = Convert.ToInt32(tokens_n1[1]); int n3 = Convert.ToInt32(tokens_n1[2]); string[] h1_temp = Console.ReadLine().Split(' '); int[] h1 = Array.ConvertAll(h1_temp, Int32.Parse); string[] h2_temp = Console.ReadLine().Split(' '); int[] h2 = Array.ConvertAll(h2_temp, Int32.Parse); string[] h3_temp = Console.ReadLine().Split(' '); int[] h3 = Array.ConvertAll(h3_temp, Int32.Parse); Queue<int> s1q = new Queue<int>(h1.ToArray()); Queue<int> s2q = new Queue<int>(h2.ToArray()); Queue<int> s3q = new Queue<int>(h3.ToArray()); int sums1 = s1q.Sum(); int sums2 = s2q.Sum(); int sums3 = s3q.Sum(); var max = 0; bool flag = true; int height = 0; while (flag) { if (sums1 == sums2 && sums2 == sums3) { height = sums1; break; } max = Math.Max(sums1, Math.Max(sums2, sums3)); if (sums1 == max) { var element = s1q.Dequeue(); if (element==null) flag = false; else if (element > 0 && element <= 100) sums1 -= element; } if (sums2 == max) { var element = s2q.Dequeue(); if (element == null) flag = false; else if (element > 0 && element <= 100) sums2 -= element; } if (sums3 == max) { var element = s3q.Dequeue(); if (element == null) flag = false; else if (element > 0 && element <= 100) sums3 -= element; } if (sums1 == sums2 && sums2 == sums3) { height = sums1; break; } } Console.Write(height);
Seems like cookies are disabled on this browser, please enable them to open this website
Equal Stacks
You are viewing a single comment's thread. Return to all comments →
Here is my c# code, dont use Queue.Sum() and Queue.Count().