Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
36145 | hshh | 【S】T4 | C++ | 解答错误 | 0 | 2 MS | 264 KB | 940 | 2025-02-07 19:46:16 |
#include<bits/stdc++.h> using namespace std; int q[3]={4,5,6},q1[3]={3,3,4}; int n,a[800],d,m,ans,p=10,b[800],l=1; int cmp(int a,int b){ return a>b; } int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } sort(a+1,a+n+1,cmp); d=(n-1)/3; m=(n-1)%3; if(n<=4){ for(int i=1;i<=n-1;i++){ ans+=q1[i-1]*a[i+1]; } ans+=2*a[1]; } else{ for(int i=1;i<=3;i++){ b[l]=q1[i-1]; l++; } for(int i=1;i<=d-1;i++){ for(int j=0;j<3;j++){ b[l]=q[j-1]; q[j]++; l++; } } for(int i=1;i<=m;i++){ b[l]=q[i-1]; l++; } b[l]=2+d; sort(b+1,b+n+1); for(int i=1;i<=n;i++){ ans+=a[i]*b[i]; } } cout<<ans; return 0; }