Submission #805342

#TimeUsernameProblemLanguageResultExecution timeMemory
805342aymanrsIdeal city (IOI12_city)C++14
23 / 100
58 ms3808 KiB
#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(), y.end(), make_pair(Y[i], i))-y.begin();
		ans += p*Y[i]%MOD;
		ans -= (N-p-1)*Y[i]%MOD;
		ans %= MOD;
	}
	return (ans+MOD)%MOD;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...