1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. import java.util.Scanner;
  4. public class 能量项链 {
  5. public static void main(String[] args) {
  6. Scanner sc = new Scanner(System.in);
  7. int n = sc.nextInt();
  8. int[] arr = new int[n];
  9. int[][] a = new int[n][2];
  10. for (int i = 0; i < n; i++) {
  11. arr[i] = sc.nextInt();
  12. }
  13. for (int i = 0; i < n; i++) {
  14. a[i][0] = arr[i];
  15. a[i][1] = arr[(i + 1) % n];
  16. // System.out.println(a[i][0]+" "+a[i][1]);
  17. }
  18. Arrays.sort(arr);
  19. // System.out.println(Arrays.toString(arr));
  20. int sum = 0;
  21. for (int i = 0; i < n - 1; i++) {
  22. int x = -1, y = -1;
  23. for (int j = 0; j < n; j++) {
  24. if (a[j][0] == arr[i] && a[j][0] != -1) {
  25. x = j;
  26. }
  27. if (a[j][1] == arr[i] && a[j][0] != -1) {
  28. y = j;
  29. }
  30. }
  31. //System.out.println((y + 1) + " " + (x + 1));
  32. sum += a[y][0] * a[y][1] * a[x][1];
  33. // System.out.println(sum);
  34. a[x][0] = a[y][0];
  35. a[y][0] = a[y][1] = -1;
  36. // for (int j = 0; j < a.length; j++) {
  37. // System.out.printf("(%d,%d) ",a[j][0],a[j][1]);
  38. // }
  39. // System.out.println();
  40. }
  41. System.out.println(sum);
  42. }
  43. }
点赞(0)
 

9.6 分

3 人评分

 

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论

天道酬勤 5年前 回复TA
通俗易懂,过程模拟的很详细,也很容易看懂。要是作者在分析一下思路就好了,怎样就可以给看的人一个提前引导。