Codeforces 2 A. Winner
题意:
最终获得分数最大的情况下,求最先达到最大分数的人。
C#10 .net6代码
int n = int.Parse(Console.ReadLine()!); Dictionary<string, int> dict = new(); List<Tuple<string, int>> list = new(); List<int> w = new(); for (int i = 0; i < n; i++) { var line = Console.ReadLine()!.Split(' '); string s = line[0]; int x = int.Parse(line[1]); list.Add(new Tuple<string, int>(s, x)); if (dict.ContainsKey(s)) { dict[s] += x; } else { dict.Add(s, x); } } int mx = -1000000; foreach (var item in dict) { mx = Math.Max(mx, item.Value); } Dictionary<string, int> dict2 = new(); foreach (var item in list) { string s = item.Item1; int x = item.Item2; if (dict2.ContainsKey(s)) { dict2[s] += x; } else { dict2.Add(s, x); } if (dict2[s] >= mx && dict[s] == mx) { Console.WriteLine(s); break; } }