/* 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 人评分
剪刀石头布 (C语言代码)不知道怎么直接在scanf中用枚举变量浏览:1304 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:590 |
WU-输出九九乘法表 (C++代码)浏览:1653 |
WU-小九九 (C++代码)浏览:1680 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:580 |
简单的a+b (C语言代码)浏览:572 |
图形输出 (C语言代码)浏览:1374 |
矩形面积交 (C语言代码)浏览:1293 |
Pascal三角 (C语言代码)浏览:641 |
输出九九乘法表 (C语言代码)浏览:1048 |