Submission #9288

#TimeUsernameProblemLanguageResultExecution timeMemory
9288altertainUniting (kriii2_U)C++98
0 / 4
0 ms1676 KiB
#include <vector> #include <map> #include <set> #include <stack> #include <algorithm> #include <sstream> #include <iostream> #include <cstdio> #include <cmath> #include <string> #include <cctype> #include <cstring> #include <queue> #include <cassert> using namespace std; typedef long long LL; typedef vector<string> VS; typedef vector<int> VI; typedef pair<int,int> PII; typedef vector<PII> VPII; #define MP make_pair #define ST first #define ND second #define PB push_back #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,n) for(int i=0; i<(n); ++i) #define ALL(X) (X).begin(),(X).end() #define SZ(X) (int)(X).size() #define FORE(it,X) for(__typeof((X).begin()) it=(X).begin(); it!=(X).end();++it) #define M 1000000007 int n; int main() { cin>>n; priority_queue<int> pq; REP(i,n) { int a; scanf("%d",&a); pq.push(-a); } LL dp = 0; REP(i,n-1) { int a, b; a = pq.top(); pq.pop(); b = pq.top(); pq.pop(); dp = (dp+LL(a) * b) % M; pq.push(a+b); } cout<<dp<<endl<<0<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...