欲解此题,首先要明白题目的意思。其实无论n个图形怎么排列,牛牛获得的最大的分数都是不变的。那我们就不需要对n个图形的大小进行排列了,我们直接用一个数组将n个大小的图形装入数组中,接下来通过算法来求得。它的算法机制其实也很简单,用一个循环遍历,遍历1~n-2索引(也可以是其他的,具体的以个人思路决定),通过和的累计、和与下一个索引数组值的累计,即可求得牛牛获得的最大的分数。
import java.util.*; public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int[] s=new int[n];
for(int i=0;i<n;i++) {
s[i]=sc.nextInt();
}
int he=s[0];
int ji=s[0]*s[1];
for(int i=1;i<n-1;i++) {
he=he+s[i];
ji=ji+he*s[i+1];
}
System.out.println(ji);
}
}