Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
134456 | 梁乃元 | 紧急集合 | C++ | 解答错误 | 40 | 2 MS | 516 KB | 756 | 2024-03-02 15:55:54 |
# 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 ; }