A25306. 题面描述小杨有一个包含n 个数字的序列 A,即A={a1,a2,...,,an} ,他想将其中大于 k的数字都替换为序列的最大值,将其中小于k 的数字都替换为序列的最小值,请你帮他计算出替换后的序列。
填空题
容易
知识点
题目描述
题面描述
小杨有一个包含n 个数字的序列 A,即A={a1,a2,...,,an} ,他想将其中大于 k的数字都替换为序列的最大值,将其中小于k 的数字都替换为序列的最小值,请你帮他计算出替换后的序列。
输入格式
第一行包含两个正整数 n,k,含义如题面所示。
第二行包含 n个数字,代表序列A 。
输出格式
输出 n个整数,代表替换后的结果。
样例输入
5 0
-2 -1 0 1 2样例输出
-2 -2 0 2 2参考答案
#include<bits/stdc++.h>
using namespace std;
int a[100005];
int main(){
int n,k,minn=INT_MAX,maxn=INT_MIN;
cin>>n>>k;
for(int i=0;i<n;i++){
cin>>a[i];
minn=min(minn,a[i]);
maxn=max(maxn,a[i]);
}
for(int i=0;i<n;i++){
if(a[i]>k)a[i]=maxn;
if(a[i]<k)a[i]=minn;
}
for(int i=0;i<n;i++){
cout<<a[i]<<" ";
}
return 0;
}
上一题
下一题