1. 程式人生 > >數列有序!

數列有序!

clas bsp 插入 its def event 輸入數據 output click



Problem Description 有n(n<=100)個整數,已經按照從小到大順序排列好,現在另外給一個整數x,請將該數插入到序列中,並使新的序列仍然有序。

Input 輸入數據包含多個測試實例,每組數據由兩行組成,第一行是n和m,第二行是已經有序的n個數的數列。n和m同時為0標示輸入數據的結束,本行不做處理。

Output 對於每個測試實例,輸出插入新的元素後的數列。

Sample Input 3 3 1 2 4 0 0 一開始用set,wa,可能是set維護成本吧。 技術分享圖片
 1 #include<bits/stdc++.h>
 2
#define LL long long 3 using namespace std; 4 int main() 5 { 6 int ans[110]; 7 int n,m; 8 while(cin>>n>>m&&n+m) 9 { 10 for(int i=1;i<=n;++i) 11 cin>>ans[i]; 12 int l=lower_bound(ans+1,ans+n+1,m)-ans; 13 for
(int i=n;i>=l;i--) 14 { 15 ans[i+1]=ans[i]; 16 } 17 ans[l]=m; 18 cout<<ans[1]; 19 for(int i=2;i<=n+1;++i) 20 cout<<" "<<ans[i]; 21 cout<<endl; 22 23 } 24 }
View Code

數列有序!