VK Cup 2012 Round 2 (Unofficial Div. 2 Edition)
はい。
http://codeforces.com/contest/169
A. Chores
sortings
ざっくりと大意
・PetyaとVasyaは兄弟である
・今日は両親にn個の難易度hの家事のミッションを任されて両親は家を離れた
・Petyaは兄なのでxより大きい家事をa個行い、Vasyaはx以下の家事をb個行う
・2番のサンプルはVasyaが行う難易度1の家事をPetyaも行うためにxが条件を満たさない
方針のようなもの
・ソートして境目の数の差で行けそうな気がする
n,a,b=map(int,raw_input().split()) l=[int(x) for x in raw_input().split()] l.sort() print l[-a]-l[b-1] if l[-a]-l[b-1]>=0 else 0
後で気づいたけどソート済みなのに>=0とか何を心配したんだろう。。。
B. Replacing Digits
ざっくりと大意
・1行目にn桁の105を超えない数aがある
・2行目にm桁の数sがある
・sの数を1つずつ使用してaを最大の数にする??
方針のようなもの
・aの桁が大きい方からみて、sの中に大きいものがあれば置換でいけるかな
#test 21でTLE解決できず。また後で a=[int(x) for x in list(raw_input())] s=[int(x) for x in list(raw_input())] s.sort() s=s[::-1] chk=0 for i in range(len(s)): if s[i]<min(a): break for j in range(chk,len(a)): if s[i]<=min(a[j:]): chk=j+1 break if s[i]>a[j]: a[j]=s[i] chk=j+1 break chk=j+1 print ''.join(map(str,a))