Codeforces Round #553 (Div. 2) D

贪心,按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;
}

猜你喜欢

转载自blog.csdn.net/wzazzy/article/details/89679771