题目描述 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=1;x=0;RE char ch=getchar(); if(ch=='-') flg=-1; for(;ch>'9'||ch<'0';) ch=getchar(); for(;ch<='9'&&ch>='0';ch=getchar()) x=x*10+ch-'0'; x*=flg; } int n,a[N]; priority_queue<int,vector<int>,greater<int> >Q; int main() { read(n); for(int i=1;i<=n;i++) read(a[i]),Q.push(a[i]); for(int i=1;i<=n;i++){ int q=Q.top(); printf("%d ",q); Q.pop(); } return 0; }
#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=1;x=0;RE char ch=getchar(); if(ch=='-') flg=-1; for(;ch>'9'||ch<'0';) ch=getchar(); for(;ch<='9'&&ch>='0';ch=getchar()) x=x*10+ch-'0'; x*=flg; } int n,a[N]; int main() { read(n); for(int i=1;i<=n;i++) read(a[i]); sort(a+1,a+1+n); for(int i=1;i<=n;i++) printf("%d ",a[i]); return 0; }