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 <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 10;
const int mod = 1e9;
typedef long long ll;
ll prefx[maxn], prefy[maxn];
ll get_sum(int i, int j)
{
ll s = 0;
s = prefx[j] + prefy[j] - prefx[i - 1] - prefy[i - 1];
return s;
}
int DistanceSum(int N, int *X, int *Y)
{
ll x[maxn];
ll y[maxn];
for(int i = 0; i < N; i++)
{
x[i] = X[i];
y[i] = Y[i];
}
sort(x, x + N);
sort(y, y + N);
for(int i = 0; i < N; i++)
{
if(i == 0) prefx[i] = x[i], prefy[i] = y[i];
else prefx[i] = x[i] + prefx[i - 1], prefy[i] = y[i] + prefy[i - 1];
}
ll sum = 0;
for(int i = 0; i < N - 1; i++)
{
sum += get_sum(i + 1, N - 1) - (ll)(N - i - 1)*(x[i] + y[i])%mod;
sum %= mod;
}
return sum;
}
# | 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... |