月赛 T1 80pts求调
  • 板块学术版
  • 楼主huta0
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/5/1 18:14
  • 上次更新2024/5/1 21:18:37
查看原帖
月赛 T1 80pts求调
749665
huta0楼主2024/5/1 18:14
#include<iostream>
#include<vector>
#include<algorithm>
#include<cstring>
#include<map>
#include<cmath>
#include<unordered_map>
#define rep(a,b,c) for(int a=b;a<=c;a++)
#define drep(a,b,c) for(int a=b;a>=c;a--)
#define all(a) a.begin(),a.end()
#define ai_jiang signed main()
using namespace std;
typedef long long ll;
namespace ai {
     int n,a[1000010],p[1000010];
     vector<int> f,q;
}
using namespace ai;
ai_jiang {
    cin.tie(0);
    cout.tie(0);
    cin>>n;
    rep(i,1,n) cin>>a[i],p[i]=a[i];
    sort(p+1,p+n+1);
    rep(i,1,n) {
          if(p[i]>=0) f.push_back(p[i]);
          else q.push_back(p[i]);
    }
    
    reverse(f.begin(),f.end());
    int at=0,bt=0,ta=f.size()-1,tb=q.size()-1;
    rep(i,1,n) {
          if(i&1) {
               if(at<=ta) cout<<f[at++]<<" ";
               else cout<<q[bt++]<<" ";
          } else {
               if(bt<=tb) cout<<q[bt++]<<" ";
               else cout<<f[ta--]<<" ";
          }
    }
    cout<<endl;
    
    reverse(f.begin(),f.end());
    at=0,bt=0,ta=f.size()-1,tb=q.size()-1;
    rep(i,1,n) {
          if(!(i&1)) {
               if(at<=ta) cout<<f[ta--]<<" ";
               else cout<<q[tb--]<<" ";
          } else {
               if(bt<=tb) cout<<q[bt++]<<" ";
               else cout<<f[at++]<<" ";
          }
    }
    
    return 0;
}
2024/5/1 18:14
加载中...