全部评论 2

  • 咸的没事做

    2026-04-22 来自 浙江

    0
  • #include <algorithm>
    #include <iostream>
    using namespace std;
    const int N = 500010;
    struct P{
    string name;
    int a,b,c;
    long long sum;
    }p[N];
    bool cmp(P a,P b){
        if(a.sum != b.sum)
        {
            return a.sum > b.sum;
        }
        if(a.sum == b.sum)
        {
            if(a.a != b.a)
            {
                return a.a > b.a;
            }
            else
            {
                if(a.b != b.b)
                {
                    return a.b > b.b;
                }
                else
                {
                    return 0;
                }
            }
        }
    }
    int main(){
    long long n;
    cin >> n;
    for(int i = 1;i <= n;i++){
    cin >> p[i].name >> p[i].a >> p[i].b >> p[i].c;
    p[i].sum = p[i].a + p[i].b + p[i].c;
    }
    stable_sort(p + 1,p + n + 1,cmp);
    for(int i = 1;i <= n;i++){
    cout << p[i].name << " " << p[i].sum << endl;
    }
    return 0;
    }
    
    

    2026-04-22 来自 浙江

    0
暂无数据

提交答案之后,这里将显示提交结果~

首页