标签:
Description
Input
Output
Sample Input
Sample Output
#include<stdio.h> #include<algorithm> using namespace std; int n; struct show { int DP; int HP; float sum; show(){};//去掉这个的话下面pro[]会找不到合适的构造函数 show(int i,int a,int b) { pro[i].DP=a; pro[i].HP=b; pro[i].sum=a*b;//不可取,因为攻击力是可以取很大的,会超出范围,除非用__int64 }; }pro[101]; int cmp(show x,show y) { return x.HP*y.DP<y.HP*x.DP;//如果用除法比,会遇到值相等而无法按照血多少来排名,造成最后结果不是正确的(小了) } int main() { int t,i; int sum,ans; while(~scanf("%d",&t)) { sum = ans = 0; for(i = 0;i<t;i++) { scanf("%d%d",&pro[i].DP,&pro[i].HP); sum+=pro[i].DP; } sort(pro,pro+t,cmp); for(i = 0;i<t;i++) { ans+=sum*pro[i].HP; sum-=pro[i].DP; } printf("%d\n",ans); } return 0; }
标签:
原文地址:http://www.cnblogs.com/shadervio/p/5696957.html