题意:
思路:
#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long ll;
const int N = 1e5 + 10;
struct Node{
int t,d;
}a[N];
int n,sum[N];
bool cmp(Node a,Node b){
return a.t * b.d < a.d * b.t;
}
int main(){
scanf("%d",&n);
for(int i = 1;i <= n;i++){
scanf("%d%d",&a[i].t,&a[i].d);
}
sort(a+1,a+1+n,cmp);
for(int i = 1;i <= n;i++) sum[i] = sum[i-1] + a[i].d;
ll ans = 0;
for(int i = 1;i <= n;i++){
ans += 2 * a[i].t * (sum[n] - sum[i]);
}
printf("%lld\n",ans);
return 0;
} 
京公网安备 11010502036488号