3385 拯救Oier(一) Save Oier—first

传送门

 时间限制: 1 s
 空间限制: 128000 KB
 题目等级 : 青铜 Bronze
 
 
 
题目描述 Description

某天可怜的Oier不小心掉进了十维空间,待Oier醒来后发现自己竟然来到了小人国~~~~

Oier打听后发现这是小人国A,但是RP掉地的Oier不幸遇到了A国的士兵,想要进去A国必须帮士兵做一件事。

由于每一个士兵都有一个ID(可能相同),士兵要求Oier根据每个士兵的ID帮士兵排成单调递增的队伍(即ID小在前, ID大者在后)。

输入描述 Input Description

输入仅两行;

第一行输入N个士兵;

第二行输入士兵的ID  a[1]…a[2]….a[N];

输出描述 Output Description

输出仅为一行,输出排序后士兵的ID;

样例输入 Sample Input

10

1 3 2 2 8 3 4 9 11 7

样例输出 Sample Output

1 2 2 3 3 4 7 8 9 11

数据范围及提示 Data Size & Hint

N<=1000;

a[i]<=40000;

数据均为整数。

奉上代码:

#include<bits/stdc++.h>

#define N 100005
#define ll long long
#define RE register
#define max(a,b) (a>b?a:b) using namespace std; void read(int &x){
int flg=;x=;RE char ch=getchar();
if(ch=='-') flg=-;
for(;ch>''||ch<'';) ch=getchar();
for(;ch<=''&&ch>='';ch=getchar()) x=x*+ch-'';
x*=flg;
}
int n,a[N];
priority_queue<int,vector<int>,greater<int> >Q;
int main()
{
read(n);
for(int i=;i<=n;i++) read(a[i]),Q.push(a[i]);
for(int i=;i<=n;i++){
int q=Q.top();
printf("%d ",q);
Q.pop();
}
return ;
}
#include<bits/stdc++.h>

#define N 100005
#define ll long long
#define RE register
#define max(a,b) (a>b?a:b) using namespace std; void read(int &x){
int flg=;x=;RE char ch=getchar();
if(ch=='-') flg=-;
for(;ch>''||ch<'';) ch=getchar();
for(;ch<=''&&ch>='';ch=getchar()) x=x*+ch-'';
x*=flg;
}
int n,a[N];
int main()
{
read(n);
for(int i=;i<=n;i++) read(a[i]);
sort(a+,a++n);
for(int i=;i<=n;i++) printf("%d ",a[i]);
return ;
}
05-11 21:45