Codeforces 135 A. Replacement
問題
数列が与えられる。この数列の項を一つだけ(必ず)変更して、ソートする。
変更前と変更後の数列の各項はすべて1以上10^9以下の整数である。
変更後にそれぞれの位置に来る項の最小値を求めよ。
制約条件
n≦10^5
数列の各項は1以上10^9以下
方針
最大の項を1にする。
最大の項が元々1だったら2にする。
ソースコード
int n,a[100000]; void run() { cin>>n; rep(i,n)cin>>a[i]; sort(a,a+n); if(a[n-1]!=1)a[n-1]=1; else a[n-1]=2; sort(a,a+n); rep(i,n)cout<<a[i]<<(i==n-1?"\n":" "); }