#include <stdio.h>
#include <algorithm>
int sum,res,i,n;
struct node
{
int hp,dsp;
void input()
{
scanf("%d%d",&dsp,&hp);
sum += dsp;
}
}hero[22];
///按单位血量的攻击力排序
bool cmp(node a,node b)
{
return a.dsp*1.0/a.hp > b.dsp*1.0/b.hp;
}
int main()
{
while(scanf("%d",&n) == 1)
{
sum = 0;
res = 0;
for(i = 0; i < n; ++i)
hero[i].input();
std::sort(hero,hero + n,cmp);
for(i = 0; i < n; ++i)
{
res += sum * hero[i].hp;
sum -= hero[i].dsp;
}
printf("%d\n",res);
}
return 0;
}
解题报告