#include <stdio.h> int main() { int n,t,i,j,temp; int a[1000]; scanf("%d",&t); while(t--) { scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); for(i=0;i<n;i++) //先把绳子按照能承受的重量从大到小排列**** { for(j=i+1;j<n;j++) { if(a[i]<a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } } int max=a[0]; //一开始因为a[0]的绳子承受重量是最大的 for(i=1;i<n;i++) //从a[1]开始循环 比较没加一根绳子能承受的总重量会不会比前面承受的重量多;*** { if(a[i]*(i+1)>max) max=a[i]*(i+1); } printf("%d\n",max); } return 0; } |
Double click to view unformatted code.