ProgMe

Untitled

Jan 25th, 2021
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define int int64_t
  3.  
  4. using namespace std;
  5.  
  6. int32_t main() {
  7. int q;
  8. cin >> q;
  9. while(q--){
  10. int a, b, k;
  11. cin >> a >> b >> k;
  12. int m[k], g[k];
  13. vector<vector<int>> cnt_a(a + 1), cnt_b(b + 1);
  14. map<pair<int, int>, vector<int>> cnt_all;
  15. for(int i = 0; i < k; i++){
  16. cin >> m[i];
  17. cnt_a[m[i]].push_back(i);
  18. }
  19. for(int i = 0; i < k; i++){
  20. cin >> g[i];
  21. cnt_b[g[i]].push_back(i);
  22. cnt_all[{m[i], g[i]}].push_back(i);
  23. }
  24. int ans = 0;
  25. for(int i = 0; i < k; i++){
  26. 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();
  27. }
  28. cout << ans << '\n';
  29. }
  30. }
Advertisement
Add Comment
Please, Sign In to add comment