HDOJ 2019数列整列!


Problem Descriptionにはn(n<=100)個の整数があり、すでに小さい順に並べられています.ここでもう一つの整数xを与えます.この数をシーケンスに挿入し、新しいシーケンスを秩序正しくしてください.
Input入力データは複数のテストインスタンスを含み、各グループのデータは2行で構成され、第1行はnとmであり、第2行はすでに秩序化されたn数の数列である.nとmは同時に0に入力データの終了を示し,本行は処理しない.
Outputはテストインスタンスごとに、新しい要素を挿入した数列を出力します.
Sample Input 3 3 1 2 4 0 0
Sample Output 1 2 3 4
import java.util.Scanner;

class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int n = sc.nextInt();
            int m = sc.nextInt();
            if(n==0){
                return ; 
            }
            int a[]=new int[n+1];
            int flag=1;
            for(int i=1;i<=n;i++){
                a[i]=sc.nextInt();
                if(a[i]<m){
                    a[i-1]=a[i];
                }else if(flag==1&&a[i]>=m){
                    a[i-1]=m;
                    flag=0;
                }
                if(i==n&&a[n]<m){
                    a[n]=m;
                }
            }
            System.out.print(a[0]);
            for(int i=1;i<=n;i++){
                System.out.print(" "+a[i]);
            }
            System.out.println();

        }
    }
}