提交时间:2024-03-02 15:55:54

运行 ID: 134456

# include <bits/stdc++.h> using namespace std ; int a [20005] , b [20005] , t [20005] ; int main ( ) { int n , sum = 0 , ans = 0 ; cin >> n ; memset ( a , 127 , 20000 ) ; memset ( b , 127 , 20000 ) ; for ( int i = 1 ; i <= n ; i ++ ) { int tmp ; cin >> tmp ; t [tmp] ++ ; } for ( int i = 1 , k = 0 ; i <= 20000 ; i ++ ) { while ( t [i] -- ) { a [++ k] = i ; } } int k1 = 1 , k2 = 1 , k = 0 ; for ( int i = 1 ; i < n ; i ++ ) { if ( a [k1] < b [k2] ) { sum = a [k1 ++] ; } else { sum = b [k2 ++] ; } if ( a [k1] < b [k2] ) { sum += a [k1 ++] ; } else { sum += b [k2 ++] ; } b [++ k] = sum ; ans += sum ; } cout << ans << endl ; return 0 ; }