OJ:http://oj.jdfz.com.cn:8081/oldoj/
1009: 护花
#include<stdio.h>
#include<algorithm>
#define max 100001
using namespace std;
long long ans;
struct store{
float x;
long long a1;
long long b1;
}num[max];
int ok;
bool cmp(store i, store j)
{
return i.x > j.x;
}
int main()
{
int N;
float a, b;
scanf("%lld", &N);
for(int i = 0; i < N; i++)
{
scanf("%f %f", &a, &b);
num[i].x = a/b;
num[i].a1 = (long long)(a * 2);
num[i].b1 = (long long)(b);
}
sort(num, num + N, cmp);
int i = N - 1;
int j;
ok = num[i].a1;
for(j = i - 1; j >= 0; j--)
{
ans += (ok * num[j].b1);
ok += num[j].a1;
}
printf("%lld", ans);
return 0;
}