解题思路:
注意事项:
参考代码:
n=int(input())
a=list(map(int,input().split()))
b=[0]*len(a)
d=sorted(a)
mid=d[len(d)//2]
big=0
sml=0
for i in range(len(a)):
if(a[i]>mid):
big+=1
if(a[i]<mid):
sml+=1
if(sml<big):
for i in range(len(a)):
if(a[i]<=mid):
b[i]=mid-a[i]+1
else:
b[i]=0
print(b[i],end=' ')
if(sml==big):
for i in range(len(a)):
if(a[i]<mid):
b[i]=mid-a[i]+1
else:
b[i]=0
print(b[i],end=' ')
if(sml>big):
for i in range(len(a)):
if(a[i]<=mid):
b[i]=mid-a[i]
else:
b[i]=0
print(b[i],end=' ')
0.0分
0 人评分
Tom数 (C语言代码)浏览:749 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:570 |
逆反的01串 (C++代码)(依旧推荐switch)浏览:965 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:494 |
数列排序 (C语言代码)浏览:842 |
简单的a+b (C语言代码)浏览:539 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:998 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:354 |
wu-理财计划 (C++代码)浏览:846 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:565 |