fork download
  1. // بسم الله الرحمن الرحيم
  2.  
  3. #include <iostream>
  4. #include <algorithm>
  5. #include <climits>
  6. #include <numeric>
  7. #include <cstring>
  8. #include <iomanip>
  9. #include <unordered_map>
  10. #include <cmath>
  11. #include <vector>
  12. #include <array>
  13. #include <set>
  14. #include <stack>
  15. #include <queue>
  16. #include <map>
  17. #include <string>
  18. using namespace std;
  19.  
  20. template<typename T> ostream& operator<<(ostream& os, vector<T>& v) { for (auto& i : v) os << i << ' '; return os; }
  21. template<typename T> istream& operator>>(istream& is, vector<T>& v) { for (auto& i : v) is >> i; return is; }
  22. #define FreePalestine \
  23.   ios_base::sync_with_stdio(false); \
  24.   cin.tie(NULL); \
  25.   cout.tie(NULL)
  26.  
  27. // #define int ll
  28. #define endl '\n'
  29. #define ll long long
  30. #define ull unsigned long long
  31. #define vi vector<int>
  32. #define vvi vector<vi>
  33. #define vll vector<long long>
  34. #define vvll vector<vll>
  35. #define pi pair<int, int>
  36. #define pll pair<ll, ll>
  37. #define vpi vector<pi>
  38. #define vpll vector<pll>
  39. #define float double
  40. #define all(a) a.begin(), a.end()
  41. #define all_r(a) a.rbegin(), a.rend()
  42. #define sum_a(n) n *(n + 1) / 2
  43.  
  44.  
  45. void solve() {
  46. int n; cin >> n;
  47. vi a(n), b(n); cin >> a >> b;
  48.  
  49. int x = 0;
  50. map<int, int> freq_a;
  51. map<int, int> freq_b;
  52. for (int i : a) {
  53. freq_a[i]++;
  54. x ^= i;
  55. }
  56. int cnt = 0, need = -1;
  57. for (int i : b) freq_b[i]++;
  58.  
  59. for (auto& [i, f] : freq_b) {
  60. f = max(f-freq_a[i], 0);
  61. cnt += f;
  62. if (cnt > 1) {
  63. cout << "NO\n";
  64. return;
  65. }
  66. if (f) need = i;
  67. }
  68. // cout << need << endl;
  69. if (need != -1 && need != x) {
  70. cout << "NO\n";
  71. } else {
  72. cout << "YES\n";
  73. }
  74. }
  75.  
  76.  
  77. signed main() {
  78. FreePalestine;
  79. // #ifndef ONLINE_JUDGE
  80. // freopen("input.txt", "r", stdin);
  81. // freopen("output.txt", "w", stdout);
  82. // #endif
  83. int t; t = 1;
  84. // cin >> t;
  85. while (t--) solve();
  86. return 0;
  87. }
  88.  
Success #stdin #stdout 0.01s 5280KB
stdin
3
1 2 3
3 2 1
stdout
YES