This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<stdio.h>
#include<stdlib.h>
#define MOD 1000000007
int n;
long long int a[100000];
long long int v,s[100000];
int compare(const void* a,const void* b)
{
return *((int*)a)>*((int*)b)?1:0;
}
int main()
{
int i,j,k;
scanf("%d",&n);
for(i=0;i<n;i++)scanf("%lld",&a[i]);
qsort(a,n,sizeof(long long int),compare);
s[0]=a[0];
for(i=1;i<n;i++)s[i]=s[i-1]+a[i];
for(i=0;i<n;i++)
{
for(j=i+1;j<n-1;j++)
{
if(a[i]==a[j])continue;
k=j+1;
while(a[k]==a[j])k++;
if(k<n)
{
v+=(s[n-1]-s[k-1])*(long long int)a[i]*(long long int)a[j]%MOD;
}
}
}
printf("%lld",v);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |