2016-06-14
SRM 677
https://competitiveprogramming.info/topcoder/srm/round/16627/div/1
Div1 Easy (300) DoubleOrOneEasy
問題
- 数aとbが与えられる
- 一回の操作で+1または2倍にできる
- 数aをnewAに、数bをnewBにするための最小操作回数を求める
方針
- (newB-newA)÷(b-a)をもとに、2倍の操作を何回やったか求めて、割っていく
- Challenge Succeeded
- (終了後)
- a <= bとなるように交換する
- newAが奇数でaが偶数なら-1、両方偶数でnewA/2-a <= newB/2-bが成り立つなら半分にする
- 残りは(newA-a)だけ減らす
- 一致すればOK
- https://github.com/firewood/topcoder/blob/master/srm_6xx/srm_677/DoubleOrOneEasy.cpp
結果
x-- +1 50pt 163rd/420 rating 1299 -> 1380 (+81)
a==bで死んだけど1撃墜。
2015年はかろうじてdiv1を維持できた。
コメントを書く
トラックバック - https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20160614
リンク元
- 15 https://topcoder-g-hatena-ne-jp.jag-icpc.org/
- 13 https://topcoder-g-hatena-ne-jp.jag-icpc.org/
- 4 https://www.google.co.jp/
- 1 https://topcoder-g-hatena-ne-jp.jag-icpc.org/calendar?date=2015-12-30
- 1 https://topcoder-g-hatena-ne-jp.jag-icpc.org/suztomo/20081208/1228768981
- 1 http://www.adventar.org/calendars/850
- 1 https://www.google.com.hk
- 1 https://topcoder-g-hatena-ne-jp.jag-icpc.org
- 1 https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=10&ved=0ahUKEwiZx8rnhLbNAhXCjZQKHaHHC8wQFghTMAk&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20150607/1433680830&usg=AFQjCNGVrp-r4YXmdyzu5PbjcnW0grXtSg&sig2=DOGuBnC8ws_kkv2h14K81g&bvm=bv.124817099,d.dGo&cad=rja