2009-05-01
SRM439
|04.30+.2009
DIV | level | 問題名 | 競技中 | 後で | System Test | 通過率 | 備考 |
---|---|---|---|---|---|---|---|
1 | 250 | PouringWater | 237.81 | - | passed | ||
1 | 500 | PalindromePhrases | 間に合わず | - | - | - | |
1 | 1000 | - | - |
250点問題: PouringWater
- ビット数に還元できることが割とすぐに思いついた
- というわけで__builtin_popcount()を使います
- 237.81points (6'29'')
class PouringWater { public: int getMinBottles(int N, int K) { for(int i=N,c=0;;i++,c++){ if(__builtin_popcount(i)<=K) return c; } return -1; } };
- 短い!
- 制御はreturn -1;には行かないです。書いてみただけ
- cafelier先生も同じ解き方だったので安心(死ぬときは一緒)
500点問題: PalindromePhrases
- case 4が合わない!
- 間に合わなかった!
1000点問題:
- 開いてない!
Challenge Time
- 防衛
237.81点で室内4位。Div1全体では105/505位
1301→1450
また黄色くなりたい