Untitled
unknown
c_cpp
a year ago
1.2 kB
6
Indexable
Never
#include "bits/stdc++.h" // @JASPER'S BOILERPLATE using namespace std; using ll = long long; #define FOR(i, a, b) for(int i = a; i <= b; i++) #define FORD(i, a, b) for(int i = a; i >= b; i--) #define REP(i, b) for(int i = 0; i < b; i++) #define PER(i, b) for(int i = b - 1; i >= 0; i--) #define fi first #define se second #ifdef JASPER2 #include "debug.h" #else #define debug(...) 166 #endif using pii = pair < int, int >; const int INF = 1e9; const int MOD = 1e9 + 7; const int N = 1e6 + 5; int n; int a[N]; void run_case() { cin >> n; for (int i = 0; i < n; ++i) cin >> a[i]; priority_queue <ll, vector <ll>, greater <ll>> q; for (int i = 0; i < n; ++i) { q.push(a[i]); } ll ans = 0; while (q.size() >= 2) { ll x = q.top(); q.pop(); ll y = q.top(); q.pop(); q.push(x + y); ans += (x + y) % MOD; ans %= MOD; } cout << ans << "\n"; } signed main() { cin.tie(0) -> sync_with_stdio(0); #ifdef JASPER2 freopen("in1", "r", stdin); #endif int Test = 1; //cin >> Test; for (int test = 1; test <= Test; test++){ run_case(); } }