제출 #1213356

#제출 시각아이디문제언어결과실행 시간메모리
1213356LIA이상적인 도시 (IOI12_city)C++17
0 / 100
11 ms580 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; typedef long long ll; typedef tuple<ll, ll, ll> plll; typedef vector<plll> vplll; typedef pair<ll, ll> pll; typedef vector<ll> vll; typedef vector<pll> vpll; typedef vector<vector<pll>> vvpll; typedef vector<vector<ll>> vvll; typedef vector<bool> vb; typedef vector<vector<bool>> vvb; #define loop(i, s, e) for (ll i = (s); i < (e); ++i) #define loopr(i, e, s) for (ll i = (e)-1; i >= (s); --i) #define all(a) a.begin(), a.end() const ll inf = 1000000000; ll ans = 0; ll n; typedef tree<ll, null_type, less<ll>, rb_tree_tag, tree_order_statistics_node_update> ost; int DistanceSum(int N, int *x, int *y) { n = N; ans = 0; ost xi, yi; loopr(i, n, 0) { ll bigger = xi.size() - xi.order_of_key(x[i] + 1); ll smaller = xi.order_of_key(x[i]); ll delta_x = (-bigger * x[i] + smaller * x[i]) % inf; if (delta_x < 0) delta_x += inf; ans = (ans + delta_x) % inf; bigger = yi.size() - yi.order_of_key(y[i] + 1); smaller = yi.order_of_key(y[i]); ll delta_y = (-bigger * y[i] + smaller * y[i]) % inf; if (delta_y < 0) delta_y += inf; ans = (ans + delta_y) % inf; xi.insert(x[i]); yi.insert(y[i]); } xi.clear(); yi.clear(); loop(i, 0, n) { ll bigger = xi.size() - xi.order_of_key(x[i] + 1); ll smaller = xi.order_of_key(x[i]); ll delta_x = (-bigger * x[i] + smaller * x[i]) % inf; if (delta_x < 0) delta_x += inf; ans = (ans + delta_x) % inf; bigger = yi.size() - yi.order_of_key(y[i] + 1); smaller = yi.order_of_key(y[i]); ll delta_y = (-bigger * y[i] + smaller * y[i]) % inf; if (delta_y < 0) delta_y += inf; ans = (ans + delta_y) % inf; xi.insert(x[i]); yi.insert(y[i]); } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...