poj2291
来源:互联网 发布:淘宝网百丽女鞋 编辑:程序博客网 时间:2024/06/05 08:16
题目大意:
给一组绳子,以及每根绳子可以承载的重量。问怎么选出几根绳子,系在一起,可以得到最大的重量
解题思路:
先排序,然后遍历取最优即可
代码如下:
#include<iostream>#include<cmath>#include<algorithm>int cmp(const void *a,const void *b){ return *(int*)a-*(int*)b;}int main(){ int t; scanf("%d",&t); while(t--) { int n,rope[1002],max=0; scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&rope[i]); } qsort(rope+1,n,sizeof(rope[1]),cmp); for(int i=1;i<=n;i++) { if(rope[i]*(n-i+1)>max) { max=rope[i]*(n-i+1); } } printf("%d\n",max); } return 0;}
0 0