Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define int int64_t
- using namespace std;
- int32_t main() {
- int q;
- cin >> q;
- while(q--){
- int a, b, k;
- cin >> a >> b >> k;
- int m[k], g[k];
- vector<vector<int>> cnt_a(a + 1), cnt_b(b + 1);
- map<pair<int, int>, vector<int>> cnt_all;
- for(int i = 0; i < k; i++){
- cin >> m[i];
- cnt_a[m[i]].push_back(i);
- }
- for(int i = 0; i < k; i++){
- cin >> g[i];
- cnt_b[g[i]].push_back(i);
- cnt_all[{m[i], g[i]}].push_back(i);
- }
- int ans = 0;
- for(int i = 0; i < k; i++){
- ans += k - i - 1 + (upper_bound(cnt_a[m[i]].begin(), cnt_a[m[i]].end(), i) - cnt_a[m[i]].begin()) - cnt_a[m[i]].size() + (upper_bound(cnt_b[g[i]].begin(), cnt_b[g[i]].end(), i) - cnt_b[g[i]].begin()) - cnt_b[g[i]].size() - (upper_bound(cnt_all[{m[i], g[i]}].begin(), cnt_all[{m[i], g[i]}].end(), i) - cnt_all[{m[i], g[i]}].begin()) + cnt_all[{m[i], g[i]}].size();
- }
- cout << ans << '\n';
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment