- 问题 1255: [蓝桥杯][算法提高]能量项链
最大能量的规律是先把数字小的吞并,最后剩下两个数字最大的
比如2,4,3,6,5分为四组
(2,4)(4,3)(3,6)(6,5)(5,2)
排序 2,3,4,5,6
能量最大的连接方式:
5-2-4————(0,0)(4,3)(3,6)(6,5)(5,4)~40
4-3-6————(0,0)(4,6)(0,0)(6,5)(5,4)~72
5-4-6————(0,0)(0,0)(0,0)(6,5)(5,6)~120
6-5-6————(0,0)(0,0)(0,0)(6,6)(0,0)~180
总能量412
由此可见输入n个数字就有n组两个编号的宝珠,执行n-1次聚合
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N=sc.nextInt();
int[] bead=new int[N];
int[][] power=new int[N][2];
for(int i=0;i<N;i++) {
bead[i]=sc.nextInt();
}
for(int i=0;i<N;i++) {
if(i==0) {
power[i][0]=bead[i];
power[N-1][1]=bead[i];
<