Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ********* Assalamualaikum****** IN the name of my Almighty****:):)***
- #include<bits/stdc++.h>
- using namespace std;
- #define suni ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0)
- #define endl "\n"
- #define f(i,a,b) for(int i=a;i< b;i++)
- #define ff(i,a,b) for(int i= a;i>=b;i--)
- #define T int t; cin >>t; while(t--)
- #define vi vector<int>
- #define vll vector<long long>
- #define vs vector<string>
- #define vp vector<pair
- #define pii pair<int,int>
- #define pb push_back
- #define mk make_pair
- #define b(a) a.begin(),a.end()
- #define rb(a) a.rbegin(),a.rend()
- #define I int
- #define ll long long
- #define st string
- #define C char
- #define mn int main()
- #define fa(u,v) for(auto u:v)
- const I mx=2e5+123;
- I a[mx];
- mn
- {
- suni;
- T{
- int c=1;
- priority_queue<pii>p;
- I n;
- cin>>n;
- p.push({n,-1});
- while(!p.empty()){
- int l=p.top().second*(-1);
- int len= p.top().first;
- p.pop();
- int mid;
- int r=l+len-1;
- if(len%2) mid=(r+l)/2;
- else mid=(r+l-1)/2;
- a[mid]=c;
- c++;
- int l1,l2,r1,r2;
- l1=l;
- r1=mid-1;
- l2=mid+1;
- r2=r;
- if(l1<=r1) p.push({(r1-l1+1),-l1});
- if(l2<=r2) p.push({(r2-l2+1),-l2});
- }
- for(int i=1;i<=n;i++) cout<<a[i]<<" ";
- cout<<endl;
- }
- }
- //*******Happy Coding*******???******
Advertisement
Add Comment
Please, Sign In to add comment