# input() 接收任意输入,将所有输入默认为字符串处理,并返回字符串类型。# input().split()接收多个值# list列表,类似于数组,分为值和索引
n =int(input())
a =list(map(int,input().split()))
a.sort()#永久排序
total =0
index =0# a.count() 统计某个元素在列表中出现的次数for i inrange(n):if a.count(a[i])> total:
total = a.count(a[i])
index = i
print(a[index])
201403-1 相反数
n =int(input())
a =list(map(int,input().split()))
a.sort()
total =0
left =0
right = n-1while left < right:if-a[left]== a[right]:
total +=1
left +=1
right -=1elif-a[left]> a[right]:
left +=1else:
right -=1print(total)
201409-1 相邻数对
n =int(input())
a =list(map(int,input().split()))
a.sort()
total =0for i inrange(n-1):if a[i]+1==a[i+1]:
total +=1print(total)
201412-1 门禁系统
# 可以用数组切片!!切片前闭后开~
n =int(input())
a =list(map(int,input().split()))
b =[0]*n #这里的b列表里需要有元素for i inrange(n):
b[i]= a[:i+1].count(a[i])for i in b:print(i, end=' ')
201503-1 图像旋转
n, m =map(int,input().split())
b =[]for i inrange(n):
a =list(map(int,input().split()))[::-1]# [::-1]将列表逆序
b.append(a)for i inrange(m):for j inrange(n):print(b[j][i], end=' ')print()
201509-1 数列分段
n =int(input())
a =list(map(int,input().split()))
total =1for i inrange(n-1):if a[i]!= a[i+1]:
total +=1print(total)
201512-1 数位之和
n =int(input())sum=0while n:sum+= n%10
n //=10print(sum)
201604-1 折点计数
n =int(input())
a =list(map(int,input().split()))
total =0for i inrange(n-1):if i!=0:if(a[i]<a[i-1]and a[i]<a[i+1])or(a[i]>a[i+1]and a[i]>a[i-1]):
total +=1print(total)
201609-1 最大波动
n =int(input())
a =list(map(int,input().split()))max=-10000for i inrange(n-1):ifabs(a[i+1]-a[i])>max:max=abs(a[i+1]-a[i])print(max)
201612-1 中间数
n =int(input())
a =list(map(int,input().split()))
a.sort()
small =0
large =0for i inrange(n):if a[i]> a[int(n/2)]:
small +=1for i inrange(n):if a[i]< a[int(n/2)]:
large +=1if small == large:print(a[int(n/2)])else:print(-1)
201703-1 分蛋糕
n, m =map(int,input().split())
a =list(map(int,input().split()))
total =1sum= a[0]for i inrange(n-1):ifsum>= m:
total +=1sum= a[i+1]else:sum+= a[i+1]print(total)
201709-1 打酱油
n =int(input())print(n//10+((n//10)//5)*2+(((n//10)%5))//3)
201712-1 最小差值
n =int(input())
a =list(map(int,input().split()))
a.sort()min=100000for i inrange(n-1):ifabs(a[i+1]-a[i])<min:min=abs(a[i+1]-a[i])print(min)
201803-1 跳一跳
a =list(map(int,input().split()))sum=0for i inrange(len(a)):if a[i]==1:sum+=1
flag =0if a[i]==2:if i ==0or a[i-1]==1:sum+=2
flag =1else:
flag +=1sum+=2*flag
if a[i]==0:print(sum)
201809-1 卖菜
n =int(input())
a =input().split()for i inrange(n):
a[i]=int(a[i])
b =[]#空列表,列表中的元素可以有多个,也可以一个都没有for i inrange(n):if i ==0:
b +=[(int)((a[i]+ a[i+1])/2)]elif i == n-1:
b +=[(int)((a[i-1]+ a[i])/2)]else:
b +=[(int)((a[i-1]+ a[i]+ a[i+1])/3)]# 规范输出if i==0:print(b[0], end='')else:print('', b[i], end='')
201812-1 小明上学
# 注意要将数值转换成整型
r, y, g =input().split()
r, y, g =int(r),int(y),int(g)
n =int(input())
s =0for i inrange(n):
k, t =input().split()
k, t =int(k),int(t)if k ==0:
s += t
elif k ==1:
s += t
elif k ==2:
s += t+r
else:passprint(s)
201903-1 小中大
n =int(input())
a =list(map(int,input().split()))#map根据提供的函数对指定序列做映射,使用list() 转换为列表if n %2==0:
median =(a[n//2-1]+a[n//2])#//向下取整,/保留小数if median %2==0:
median //=2#为了使其输出为整数else:
median /=2if n %2==1:
median = a[n//2]print(max(a), median,min(a))
201909-1 小明种苹果
# 每迭代一次,获取的是一个新列表
n, m =map(int,input().split())
T =0# 最后一轮疏果操作后所有苹果树上剩下的苹果总数
k =0# 疏果个数最多的苹果树编号
P =0# 每颗苹果树的疏果总数max=0# 疏果数最大的那颗苹果树的疏果总数for i inrange(n):
a =list(map(int,input().split()))
P =0for j inrange(1, m+1):
a[0]= a[0]+ a[j]
P +=abs(a[j])if P >max:max= P
k = i+1
T += a[0]print(T, k,max)
201912-1 报数
n =int(input())
a =0
b =0
c =0
d =0for i inrange(1,1000000):if i %7==0or'7'instr(i):if i %4==1:
a +=1elif i %4==2:
b +=1elif i %4==3:
c +=1else:
d +=1if(i-(a+b+c+d))>= n:breakprint(a)print(b)print(c)print(d)
202006-1 线性分类器
listA =[]
listB =[]
b =[]
x =0
num1 =0
num2 =0
n1 =0
n2 =0
n, m =map(int,input().split())for i inrange(n):
a =list(input().split())
a[0]=int(a[0])
a[1]=int(a[1])
a[2]=ord(a[2])if a[2]==65:
listA.append(a[0:-1])if a[2]==66:
listB.append(a[0:-1])for j inrange(m):
b.append(list(map(int,input().split())))for i in b:
num1 =0
num2 =0
n1 =0
n2 =0for j in listA:if b[x][0]+b[x][1]*j[0]+b[x][2]*j[1]>0:
num1 +=1for k in listB:if b[x][0]+b[x][1]*k[0]+b[x][2]*k[1]<0:
num2 +=1for j in listA:if b[x][0]+ b[x][1]* j[0]+ b[x][2]* j[1]<0:
n1 +=1for k in listB:if b[x][0]+ b[x][1]* k[0]+ b[x][2]* k[1]>0:
n2 +=1if(num1 ==len(listA)and num2 ==len(listB))or(n1 ==len(listA)and n2 ==len(listB)):print('Yes')else:print('No')
x +=1
202009-1 称检测点查询
n, x_citizen, y_citizen =map(int,input().split())
a =[]
b =[]for i inrange(n):
x_point, y_point =map(int,input().split())
a.append((y_point - y_citizen)**2+(x_point - x_citizen)**2)for i inrange(3):
ind = a.index(min(a))
b.append(ind+1)
a[ind]=100000for i in b:print(i)
202012-1 期末预测之安全指数
# 202012-1
n =input()
n =int(n)
y =0for i inrange(n):
w, score =list(map(int,input().split()))
y += w*score
y =max(0, y)print(y)
202104-1 灰度直方图
# # 202104-1
n, m, L =map(int,input().split())
A =[]
a =[]
b =[]
c =[]
big =0for i inrange(n):
A =list(map(int,input().split()))
a.append(A)for i in a:for j in i:
b.append(j)
big =max(b)for i inrange(big+1):if i in b:
c.append(b.count(i))else:
c.append(0)for i in c:print(i, end=' ')
202109-1 数组推导
# 202109-1
n =int(input())
B =list(map(int,input().split()))
a_max =[]
a_min =[]
a_max.append(B[0])
a_min.append(B[0])for i inrange(0,len(B)-1):if B[i+1]== B[i]:
a_max.append(B[i+1])
a_min.append(0)else:
a_max.append(B[i+1])
a_min.append(B[i+1])print(sum(a_max))print(sum(a_min))
202112-1 序列查询
n, N =map(int,input().split())
a =[]
a =list(map(int,input().split()))# 列表insert函数用于将指定对象插入到列表的指定位置。# list.insert(index, obj)# index-对象obj需要插入的索引的位置# obj-要插入列表中的对象
a. insert(0,0)sum=0
f_i =0for i inrange(1,len(a)):sum=sum+(a[i]-a[i-1])* f_i
f_i = f_i +1sum=sum+(N - a[len(a)-1])* f_i
print(sum)