/* 4 2 3 5 10 (2,3)(3,5)(5,10) (10,2) (1) 最大能量的规律是先把数字小的合并,最后剩下两个最大的 10-2-3—————(10,3)~60 10-3-5—————(10,5)~150 10-5-10—————(10,10)~500 总能量sum为710 */ #include<bits/stdc++.h> using namespace std; int n,sum; int main(){ cin>>n; int a[n]; for(int i=0;i<n;i++){ cin>>a[i]; } //构造二位数组 int b[n][2]; for(int i=0;i<n;i++){ b[i][0]=a[i]; if(i==n-1){ b[i][1]=a[0]; }else{ b[i][1]=a[i+1]; } //cout<<b[i][0]<<" "<<b[i][1]<<endl; } //对能量项链上的标记数 小——>大 sort(a,a+n); int x,y; for(int i=0;i<n-1;i++){ for(int pos=0;pos<n;pos++){ //找到序列前缀为当前最小值 if(b[pos][0]==a[i]){ x=pos; } //找到序列后缀为最小值 if(b[pos][1]==a[i]){ y=pos; } } sum+=b[x][0]*b[x][1]*b[y][0]; b[x][0]=b[y][0]; b[y][0]=b[y][1]=0; } cout<<sum<<endl; return 0; }
0.0分
0 人评分
简单的a+b (C语言代码)浏览:564 |
WU-输出九九乘法表 (C++代码)浏览:1852 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:642 |
C语言训练-自由落体问题 (C语言代码)浏览:650 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:644 |
C语言训练-自守数问题 (C语言代码)浏览:798 |
整除的尾数 (C语言代码)浏览:852 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:653 |
【偶数求和】 (C语言代码)浏览:452 |
拯救雅典娜浏览:1380 |