Submission #2181

#TimeUsernameProblemLanguageResultExecution timeMemory
2181jwvg0425지우개 (GA4_eraser)C++98
22 / 100
18 ms3620 KiB
#include<stdio.h> #include<stdlib.h> #include<algorithm> #include<vector> using namespace std; #define MOD 1000000007 int n,r[100005]; long long int a[100005]; long long int v[100005],s[100005]; int main() { int i,j,k,t=0; scanf("%d",&n); for(i=0;i<n;i++)scanf("%lld",&a[i]); sort(&a[0],&a[n]); s[0]=a[0]; r[0]=1; for(i=1;i<n;i++)s[i]=s[i-1]+a[i]; for(i=0;i<n;i++) { for(j=r[i];;j++) { if(a[j]!=a[i]) { r[i]=r[i+1]=j; break; } } } for(j=r[0];j<n-1;j++) { k=r[j]; if(k<n) { v[j]=(v[j-1]+(s[n-1]-s[k-1])*(long long int)a[j])%MOD; } } for(i=0;i<n-2;i++) { t=(t+(v[n-2]-v[r[i]-1])*(long long int)a[i])%MOD; } printf("%lld",t); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...