B.カナとドラゴンクエストゲーム1337Bの
質問の意味:hを指定すると、操作の上限は1、2 n、m。
- 操作1:h⇒⌊h 2⌋+ 10 h \ Rightarrow \ left \ lfloor \ frac {h} {2} \ right \ rfloor + 10h⇒⌊2時間⌋+1 0
- 操作2:h⇒h − 10 h \ Rightarrow h-10h⇒h−1 0
アイデア:操作2から減算できる数は固定です。操作1の場合、h⩾20 h \ geqslant20の場合h⩾2 0 h常に拒否する場合。そして、hが大きいほど、削減量は多くなります。
最初に操作1を実行し、次に操作2を実行します。決勝が0以下かどうかを確認します。
int main(){
int t;
cin>>t;
LL x,n,m;
while(t--){
cin>>x>>n>>m;
while(x>=20&&n>0){
n--;
x=x/2+10;
}
while(m>0){
m--;
x-=10;
}
if(x<=0)puts2();
else puts3();
}
return 0;
}