hdu 2019 数列有序

http://acm.hdu.edu.cn/showproblem.php?pid=2019

题目大意

有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序。输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。n和m同时为0标示输入数据的结束,本行不做处理。

Sample Input

3 3

1 2 4

0 0

Sample Output

1 2 3 4

方法与总结

  • 给定的数列已经有序,所以很简单
  • 先依次输出比m小的数
  • 再按序输出比m大的

代码

#include<iostream>
using namespace std;

int main()
{
    int n,m,i;
    while(cin>>n>>m && (n!=0 || m!=0))
    {
        int *p=new int[n];
        for(i=0;i<n;i++)
            cin>>p[i];
        for(i=0;i<n;i++)
        {
            if(p[i]<m)
                cout<<p[i]<<" ";
            else
                break;
        }
        cout<<m;
        for(;i<n;i++)
            cout<<" "<<p[i];
        cout<<endl;
    }
    return 0;
}
/* bottom:40px 距浏览器底部距离 right:40px 距浏览器右边距离 */