fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define fast ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL)
  4. #define ll long long
  5. #define vll vector<long long>
  6. #define pii pair<int,int>
  7. #define vpii vector<pair<int,int>>
  8. #define pll pair<long long ,long long >
  9. #define pb push_back
  10. #define ff first
  11. #define sec second
  12. #define SORT(a) sort(a.begin(),a.end())
  13. #define m_p make_pair
  14. #define all(x) (x.begin(),x.end())
  15. #define sz(v) ((int)(v.size()))
  16. #define INF 1e9+7
  17. typedef vector<int> vi ;
  18. const int MOD=1e9 +7 ;
  19. int size=10000000;
  20.  
  21. int search(int x ,vector<int> &v){
  22. for(int i=0;i<v.size();i++){
  23. if(x==v[i]) return i;
  24. }
  25. return -1;
  26. }
  27.  
  28. int main(){
  29.  
  30. int t ; cin>>t;
  31. while(t--){
  32.  
  33. int n;
  34. cin>>n ; vi v(n);
  35. vector<bool> check(n , false ) ;
  36.  
  37. for( int i=0; i<n; i++ ) cin>>v[i];
  38.  
  39. int count=n-1;
  40. for( int i=1;i<=n;i++){
  41. int num = search(i,v);
  42. assert(num!=-1);
  43. if(v[num]==i && num+1!=i){
  44. int j=num;
  45. while(count>0 && j>=1 && !check[j-1] ){
  46.  
  47. swap(v[j],v[j-1]);
  48. check[j-1]=true;
  49. j--;
  50. count--;
  51. if(v[j]==j+1) break;
  52.  
  53. }
  54.  
  55. if(count==0) break ;
  56. }
  57.  
  58.  
  59. }
  60.  
  61. for(int i:v) cout<<i<<" ";
  62.  
  63. cout<<endl;
  64.  
  65.  
  66.  
  67.  
  68. }
  69.  
  70. return 0;
  71. }
  72.  
Runtime error #stdin #stdout #stderr 0s 4548KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
prog: prog.cpp:42: int main(): Assertion `num!=-1' failed.