fork download
  1. #include <bits/stdc++.h>
  2. #define int long long
  3. using namespace std;
  4.  
  5. void solve() {
  6. int n;
  7. cin >> n;
  8. vector<int> v(n);
  9. for(int i=0;i<n;i++){
  10. cin>>v[i];
  11. }
  12. int x=-1;
  13. for(int i=0;i<n;i++){
  14. if(v[i]!=i){
  15. if(x==-1)x=(v[i]&v[v[i]]);
  16. else{
  17. if(x!=(v[i]&v[v[i]])){
  18. cout<<0<<endl;
  19. return;
  20. }
  21. x=(v[i]&v[v[i]]);
  22. }
  23. swap(v[i],v[v[i]]);
  24.  
  25. }
  26. }
  27. cout<<x<<endl;
  28.  
  29.  
  30. }
  31.  
  32. signed main() {
  33. int t;
  34. cin >> t;
  35. while (t--) {
  36. solve();
  37. }
  38. return 0;
  39. }
  40.  
Success #stdin #stdout 0.01s 5288KB
stdin
1
4
0 1 3 2
stdout
2