金庫

题意翻译

# 题目描述 有一个布娃娃。因为布娃娃很重要,所以要把它锁在金库里。 金库是拨号式密码锁,有从-100到100的整数值的刻度。指针最初在0刻度处。 指针在0的状态开始,把指针对准A的位置后,再调至B的位置,再回到0的位置就可以打开。若在将指针对准A位置之前,指针某时恰好与B的位置相吻合,在这种情况下也需要将指针对准A的位置之后再次配合B的位置。 指针所指的值只能每次改变1。但是,针在指向-100的状态时,针所指的值不可能减少,针在指向100的状态时,针所指的值不可能增加。 另外,每次针所指的值发生1个变化时,声音就会响1次。例如,针指向0时转至指向5后,声音会响5次。 因为我讨厌金库的鸣响声音,所以我不想多发出声音,所以想知道声响的次数的最小值。 # 输入输出格式 ## 输入格式: 输入用以下的标准形式给予。 ```cpp $ A $ $ B $ ``` 第1行,给予最初应配合的整数A(-100≤A≤100)。 第2行,给予接下来应配合的整数B(-100≤B≤100)。 A≠0,B≠0,A≠B。 ## 输出格式: 把声响次数最小值输出到1行。**在输出的末尾也要进行改行。** # 说明 ## 【样例说明】 对于样例一,针所指的整数是0→1→2→3→4→5→4→3→2→1→0→-1→-2→-1→0,声响次数的最小值是14次。 对于样例二,会出现移动指针时先遇到B位置的情况。

题目描述

[problemUrl]: https://atcoder.jp/contests/code-thanks-festival-2015-open/tasks/code_thanks_festival_2015_a あなたはぬいぐるみを持っています。ぬいぐるみは大切なので鍵をかけて金庫に保管しています。 金庫はダイヤル式で、$ -100 $ から $ 100 $ までの整数値の目盛りが書かれています。最初 $ 0 $ に針が合わせられています。 金庫は針が $ 0 $ にある状態から始めて、針を $ A $ の位置に合わせた後、$ B $ の位置に合わせて、再び $ 0 $ の位置に合わせることで開けることができます。針を $ A $ の位置に合わせる前に針を $ B $ の位置に合わせることはできますが、この場合でも針を $ A $ の位置に合わせた後に再び $ B $ の位置に合わせる必要があります。 針が指す値は $ 1 $ ずつしか変化させることができません。ただし、針が $ -100 $ を指している状態で針が指す値をさらに減らすこと、針が $ 100 $ を指している状態で針が指す値をさらに増やすことはできません。 また、針が指す値を $ 1 $ つ変化させる度に音が $ 1 $ 回鳴ります。例えば針が $ 0 $ を指している状態から $ 1 $ ずつ針が指す値を増やしていって針が $ 5 $ を指すようにした場合には $ 5 $ 回音が鳴ります。 あなたは金庫が鳴らす音が苦手で、余り音を鳴らしたくないので、音を鳴らす回数として考えられる最小値が知りたいです。

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられる。 > $ A $ $ B $ - $ 1 $ 行目には、最初に針を合わせるべき整数 $ A\ (-100\ ≦\ A\ ≦\ 100) $ が与えられる。 - $ 2 $ 行目には、次に針を合わせるべき整数 $ B\ (-100\ ≦\ B\ ≦\ 100) $ が与えられる。 - $ A $ ≠ $ 0 $, $ B $ ≠ $ 0 $, $ A $ ≠ $ B $ である。

输出格式


音を鳴らす回数として考えられる最小値を $ 1 $ 行に出力せよ。出力の末尾にも改行を入れること。

输入输出样例

输入样例 #1

5
-2

输出样例 #1

14

输入样例 #2

4
3

输出样例 #2

8

输入样例 #3

-40
-91

输出样例 #3

182

说明

### Sample Explanation 1 針が指す整数を $ 0 $ → $ 1 $ → $ 2 $ → $ 3 $ → $ 4 $ → $ 5 $ → $ 4 $ → $ 3 $ → $ 2 $ → $ 1 $ → $ 0 $ → $ -1 $ → $ -2 $ → $ -1 $ → $ 0 $ と移動させることで音を鳴らす回数を $ 14 $ 回に抑えることができます。 ### Sample Explanation 2 先に $ B $ で指定された値に針が一致することもあります。