51nod 1110 距离之和最小 V3

来源:互联网 发布:淘宝衣服搭配在哪里 编辑:程序博客网 时间:2024/06/05 20:31
#include <bits/stdc++.h>using namespace std;struct node{long long x,w;}arr[10010];bool cmp(node n1,node n2){return n1.x<n2.x;}int main(){long long i,n,sum,now,ans,mid;while(cin>>n){sum=0;for(i=0;i<n;i++){scanf("%lld%lld",&arr[i].x,&arr[i].w);sum+=arr[i].w;}sort(arr,arr+n,cmp);sum>>=1;now=0;for(i=0;i<n;i++){now+=arr[i].w;if(now>sum){mid=arr[i].x;break;}}ans=0;for(i=0;i<n;i++){ans+=abs(arr[i].x-mid)*arr[i].w;}printf("%lld\n",ans);}}

0 0
原创粉丝点击