/*有几堆水果。每次你把两堆东西移到一起,形成更大的一堆。每个动作消耗的能量是两堆水果的总重量。如何把所有的水果堆在一起,消耗最少的能量?*/
以上是题目,该题首先要读懂题目,每次移到一起以后都要将数组重新排序再次移动。
1 #include
2
3 int main(){
4
5 int t, n, m = 0;
6 int i = 0, j = 0;
7 scanf("%d",&n);
8 int sum[n];
9
10 for(i = 0; i
11 scanf("%d",&sum[i]);
12 }
13
14 for(i = 0; i
15 for(j = 0; j
16 if(sum[j]>sum[j+1]){
17 t = sum[j];
18 sum[j] = sum[j+1];
19 sum[j+1] = t;
20 }
21 }
22 }
23 for(i = 1;i
24 sum[i] += sum[i-1];
25 m += sum[i];
26 for(j = i+1;j
27 t = sum[j-1];
28 sum[j-1] = sum[j];
29 sum[j] = t;
30 }
31 }
32
33 printf("%d",m);
34
35 return 0;
36 }