WARush

SRMの結果とか、解けた問題のコードを書いていきます

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;
    }
};