首页 > 代码库 > codeforces 479B. Towers C - Exams【排序】
codeforces 479B. Towers C - Exams【排序】
题目:codeforces 479B. Towers
题意:给出一个长度 n 的序列,最多可以有 k 次操作,每次选择一个一个最大的减1,最小的加1,然后问在最多k次操作之后的最小差值。
很简单,练习一下python语法
n,k = map(int,raw_input().split()) l = map(int,raw_input().split()) ans = [] i = 0 while i<k: if(max(l) - min(l)>0): #取最大值 a,b = l.index(max(l)),l.index(min(l)) #最大值的位置 l[a]-=1 l[b]+=1 i+=1 ans.append([a+1,b+1]) else: break print max(l)-min(l),len(ans) for i in ans: print i[0],i[1]
顺便上一下C题的代码简单的排序:
n = input() l = [] for i in range(n): a,b = map(int,raw_input().split()) l.append([a,b]) l.sort() ans = 0 for i in l: re = min(i) if re>=ans:ans = re else: ans = max(i) print ans
codeforces 479B. Towers C - Exams【排序】
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。