codevs 3385 拯救Oier(一) Save Oier—first

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=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;
}
View Code
#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;
}
View Code
博主蒟蒻,若有出错的地方,敬请指出。 如有侵犯您版权的地方,请快速联系我,我会撤回本博文。
原文地址:https://www.cnblogs.com/song-/p/8834746.html