测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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; }
上一题 下一题