SRM579 Div2 Easy "PrimalUnlicensedCreatures"
問題
http://community.topcoder.com/stat?c=problem_statement&pm=12524
訳
Primal Grezは恐ろしい猛獣である。彼らは他の固体と常に争っている。あるGrezとGrezの戦いに決着がついたとき、勝ったほうは負けたものを食い、さらに強さを増していく。具体的には下記の通りである。
・Grezのパワーレベルは正の整数である。 ・Grezは自分よりも少ないパワーレベルを持つものに、勝つ事ができる。 ・勝ったGrezのパワーレベルをX、負けたGrezのパワーレベルをYとすると、 勝ったGrezのパワーレベルはX + Y / 2となる。 例えば、Y=3だとすると、Y/2=1となる。
あなたの目的は、パワーレベルがinitialLevelであるGrezが他のGrezとの戦うので、それを助ける事である。他のi番目のGrezはgrezPower[i]だけのパワーレベルを持っている。あなたのGrezは戦いを挑むGrezを好きに選ぶ事ができる。
あなたにはinitilalLevelとgrezPowerが与えられる。あなたのGrezが最大何匹のGrezに勝つことができるかを返せ。
制約
1 <= initialLevel <= 1000
1 <= 他のGrezの数 <= 50
1 <= grezPower[i] <= 1000
考えた事
弱いGrezを狙ってどんどん強くなるぜ
ソースコード
class PrimalUnlicensedCreatures { public: int maxWins(int initialLevel, vector <int> grezPower){ int level = initialLevel; int n = grezPower.size(); sort( grezPower.begin(), grezPower.end() ); int res = 0; for( int i = 0; i < n; i++ ){ if( grezPower[i] < level ){ level += grezPower[i] / 2; res++; } } return res; } };