No.2969 ローラン単項式の微分
タグ : / 解いたユーザー数 68
作問者 : 👑
問題文
まずは記法の導入です。各整数 に対し、正実数全体の集合を定義域に持つ実数値関数 を
と定義します。いかなる整数 に対しても は微分可能であることが証明可能であり、 の導関数を と表します。
微分について知らない人向けの説明はこちらです。(クリックで開く)
を正実数全体の集合を定義域に持つ実数値関数(つまり正実数を代入して実数の値を取る関数)とします。 が微分可能であるとは、いかなる正実数 に対しても極限
が収束するということです。上式の極限値は の における微分係数と呼ばれ、 と書き表されます。 が微分可能である時、各正実数 に対し を返す関数 が定義されますが、これを の導関数と呼びます。
を整数とします。上で述べたように は微分可能であることが知られており、その導関数 は と表せることも知られています。定義を復習すると、 と は正実数全体で定義された実数値関数であり
と表されます。以上の情報をもとに、この問題に答えてください。
入力に 個の整数 が与えられます。
を満たす整数の組 がちょうど つだけ存在するか否かを判定し、ちょうど つだけ存在する場合はそのような を求めてください。
入力
入力は以下の形式で標準入力から 行で与えられます:
- 行目に が半角空白区切りで与えられます。
制約
入力は以下の制約を満たします:
- は を満たす整数である。
- は を満たす整数である。
出力
を満たす整数の組 がちょうど つだけ存在する場合は 行目にYes
と出力し、 行目にそのような を半角空白区切りで出力してください。
Yes
そうでない場合は 行目にNo
と出力してください。
No
最後に改行してください。
サンプル
サンプル1
入力
1 1
出力
Yes 1 0
正実数全体の集合を定義域に持つ実数値関数 の導関数は と表せ、これは と一致します。 以外に を満たす整数の組 は存在しません。
サンプル2
入力
4 0
出力
No
正実数全体の集合を定義域に持つ実数値関数 の導関数は のみを値に取る定数関数であり、これは や と一致します。すなわち を満たす整数の組 として と の複数が取れてしまうので、そのような がちょうど つだけ存在するという主張は正しくありません。
サンプル3
入力
-100000 -100000
このように入力が負のことがあるので気をつけてください。
出力
Yes 10000000000 -100001
このように答えが32bit整数に収まらないことがあるので気をつけてください。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。