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 MOD = 1e9;
int DistanceSum(int N, int *X, int *Y){
vector<pair<int, int>> x, y;
for(int i = 0;i < N;i++){
x.emplace_back(X[i], i);
y.emplace_back(Y[i], i);
}
sort(x.begin(), x.end());
sort(y.begin(), y.end());
long long ans = 0;
for(int i = 0;i < N;i++){
long long p = lower_bound(x.begin(), x.end(), make_pair(X[i], i))-x.begin();
ans += p*X[i]%MOD;
ans -= (N-p-1)*X[i]%MOD;
ans %= MOD;
p = lower_bound(y.begin(), x.end(), make_pair(Y[i], i))-x.begin();
ans += p*Y[i]%MOD;
ans -= (N-p-1)*Y[i]%MOD;
ans %= MOD;
}
return (ans+MOD)%MOD;
}
# | 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... |