fork(8) download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. void TC(){
  6. int n; cin >> n;
  7. vector<pair<int, int>> a(n);
  8. for(int i = 0 ; i < n; i++){
  9. int x; cin >> x;
  10. a[i].first = x;
  11. a[i].second = i;
  12. }
  13. sort(a.begin(), a.end());
  14. int ans = 0;
  15. for(int i = 0; i < n; i++){
  16. if(a[i].second != i){
  17. swap(a[i].first, a[a[i].second].first);
  18. swap(a[i].second, a[a[i].second].second);
  19. if(a[i].second !=i) --i;
  20. ++ans;
  21. }
  22. }
  23. cout << ans << endl;
  24. }
  25.  
  26. int main(){
  27. int t; cin >> t;
  28. while(t--){
  29. TC();
  30. }
  31. }
Success #stdin #stdout 0s 5624KB
stdin
Standard input is empty
stdout
Standard output is empty