第一行输入两个整数
,分别表示报名人数与计划录取人数。
接下来
行,每行输入两个整数
,分别为报名号与笔试成绩。报名号保证唯一。
第一行输出两个整数:面试分数线
与进入面试的人数
。
接下来
行,按排序顺序输出每位选手的报名号
与成绩
,每行两个整数,用空格分隔。
6 3 9848 90 6731 88 1422 95 7483 84 8805 95 4162 88
88 5 1422 95 8805 95 9848 90 4162 88 6731 88
计算:,第
名成绩为
,故分数线
;所有
的共有
人。
#n1:报名人数 n2:计划录取人数
n1,n2 = list(map(int,input().split(" ")))
t = int(n2 * 1.5)
grades = {}
for i in range(n1):
k,s = list(map(int,input().split(" ")))
grades[k] = s
result = sorted(grades.items(),key=lambda x:(-1*x[1],x[0]))
line = result[t-1][1]
count = 0
result1 = []
for _,value in result:
if value >=line:
result1.append([_,value])
count +=1
print("{} {}".format(line,count))
for no,value in result1:
print('{} {}'.format(no,value)) while True:
try:
n, m = map(int, input().split()) # n:总人数, m:计划录取人数
info = {}
for _ in range(n):
idx, score = map(int, input().split())
info[idx] = score
# 按规则排序:成绩降序,成绩相同时报名号升序
sorted_items = sorted(info.items(), key=lambda x: (-x[1], x[0]))
# 计算面试名额(向下取整)
t = int(1.5 * m) # Python的int()对于正数就是向下取整
# 第t名选手的成绩就是面试分数线
# 注意:列表索引从0开始,所以第t名对应索引t-1
score_line = sorted_items[t - 1][1]
# 所有成绩不低于分数线的选手均进入面试
# 因为可能有多个同分选手,所以要用 >=
qualified = {k: v for k, v in sorted_items if v >= score_line}
# 输出结果
print(score_line, len(qualified))
for k, v in qualified.items():
print(k, v)
except:
break import math
n,m=map(int,input().split())
c=[]
for _ in range(n):
a,b=map(int,input().split())
c.append([-b,a])#b.extend([a, b]) =[a,b],c.append([a,b])=[[a,b],]
c.sort()
for i in range(n):
if c[i][0]<=0:
c[i][0]=(-c[i][0])
d=math.floor(m*1.5) #m*1.5//1
f=c[d-1][0]
count =0
g=[]
for i in range(n):
if c[i][0]>=f:
count +=1
print(f"{f} {count}")
for i in range(count):
print(f"{c[i][1]} {c[i][0]}")