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;
    }
}

 

posted on 2022-12-06 16:15  luobo67  阅读(13)  评论(0)    收藏  举报

导航