贪心,按ab差值排序
#include <bits/stdc++.h> using namespace std; typedef long long ll; struct node { ll a,b; }d[100005]; bool cmp(node A,node B) { return (A.a-A.b)>(B.a-B.b); } int main() { int n;cin>>n; for(int i=0;i<n;i++) { scanf("%lld%lld",&d[i].a,&d[i].b); } sort(d,d+n,cmp); ll ans=0; for(int i=0;i<n;i++) { ans+=(d[i].a*i+d[i].b*(n-i-1)); } cout<<ans<<endl; return 0; }
转载请标明出处:Codeforces Round #553 (Div. 2) D
文章来源: https://blog.csdn.net/wzazzy/article/details/89679771