【Lua】ElJudge 004 Athletes

http://acm.mipt.ru/judge/problems.pl?problem=004


給N個運動員,他們有質量m和力量s,如果mi>mj則有si>sj,現在要他們疊羅漢。強度爲s的人最多能支撐質量和sum<=s。


注意條件:如果mi>mj則si>sj。這樣就可以貪心了~~~

按照m爲第一關鍵字,s爲第二關鍵字,然後排序,之後一個一個疊羅漢就好了


代碼:

function rd() return io.stdin:read("*n") end
n,a=rd(),{}
for i=1,n do
	local ms={}
	ms.m,ms.s=rd(),rd()
	a[i]=ms
end
table.sort(a,function(x,y) return x.m~=y.m and x.m<y.m or x.s<y.s end)
ans,sum=0,0
for i=1,n do
	if a[i].s >= sum then
		sum = sum + a[i].m
		ans = ans + 1
	end
end
print (ans)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章