题解 | 护花使者

护花使者

https://www.nowcoder.com/practice/c39ad5e0563748d4be203fb243285eeb

一种比较常见的排序方式,详情可看:【1月18日 牛客每日一题】

#include <bits/stdc++.h>
#define il inline
#define double long double
using namespace std;
using ll = long long;
using ull = unsigned long long;
using int128 = __int128_t;

const ll N = 2e5 + 5, mod = 1e9+7, inf = 2e18;
const double eps = 1e-9;
double PI = 3.1415926;

il void solve(){
    int n;
    cin>>n;
    struct Node{
        ll t,d;
        bool operator<(const Node&a)const{
            return d*a.t>a.d*t;
        }
    };
    ll sum=0;
    vector<Node>a(n);
    for(auto &[x,y]:a){
        cin>>x>>y;
        sum+=y;
    }
    sort(a.begin(),a.end());
    ll ans=0;
    for(auto [t,d]:a){
        sum-=d;
        ans+=2*t*sum;
    }
    cout<<ans;
}

int main(){
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);

    int t = 1;

    // cin >> t;

    while (t--){

        solve();
    }

    return 0;
}

全部评论

相关推荐

01-11 08:47
门头沟学院 Java
choumoduji...:读研的目的就是为了以最快的速度和最低的要求完成“学校”规定的毕业标准,而不是所谓课题组的要求
点赞 评论 收藏
分享
2025-12-04 14:15
杭州电子科技大学 C++
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务