HDOJ 2019数列整列!
2511 ワード
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
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();
}
}
}