QOJ.ac

QOJ

Süre Sınırı: 1 s Bellek Sınırı: 512 MB Toplam puan: 100

#24424. مركبة المريخ المعطلة

İstatistikler

تعطلت مركبة تنفذ مهمة دولية على المريخ. ولاستعادة عملها، يجب زيادة قدرة بطاريتها.

تُمثل قدرة بطارية المركبة بعدد صحيح موجب. القدرة الحالية هي $a$، ولاستعادة عمل المركبة يجب زيادتها إلى $b$. يمكن إرسال إشارات خاصة من نوعين، X وY، من الأرض إلى المركبة لتغيير قدرة البطارية. تزيد إشارة من النوع X القدرة الحالية بمقدار $1$، وتزيد إشارة من النوع Y القدرة الحالية بمقدار $2$.

يريد منظمو المهمة الوصول إلى قدرة البطارية المطلوبة بإرسال أقل عدد ممكن من الإشارات. للأسف، بسبب تصميم المركبة، إذا أصبحت قدرة البطارية من مضاعفات العدد الصحيح $c$، تتعطل المركبة نهائيًا وتتوقف عن الاستجابة للإشارات.

اكتب برنامجًا يحدد، انطلاقًا من قدرة البطارية الابتدائية $a$ والقدرة المطلوبة $b$ والعدد الصحيح $c$، أقل عدد من الإشارات التي يجب إرسالها إلى المركبة لاستعادة عملها.

الإدخال

يحتوي الإدخال على ثلاثة أعداد صحيحة، $a$ و$b$ و$c$، كل منها في سطر منفصل ($1 \le a < b \le 10^9$، $2 \le c \le 10^9$، ولا $a$ ولا $b$ من مضاعفات $c$).

الإخراج

أخرج عددًا صحيحًا واحدًا: أقل عدد من الإشارات التي يجب إرسالها إلى المركبة.

أمثلة

الإدخال 1

2
7
3

الإخراج 1

3

الإدخال 2

4
10
3

الإخراج 2

4

ملاحظة

في المثال الأول، يمكن إرسال الإشارات Y ثم X ثم Y إلى المركبة. تتغير قدرة البطارية على النحو الآتي: $2 \to 4 \to 5 \to 7$.

في المثال الثاني، يمكن إرسال الإشارات X ثم Y ثم X ثم Y إلى المركبة. تتغير قدرة البطارية على النحو الآتي: $4 \to 5 \to 7 \to 8 \to 10$.

المهام الفرعية

تُمنح نقاط كل مهمة فرعية فقط إذا اجتازت جميع اختبارات تلك المهمة والمهام الفرعية المطلوبة لها.

المهمة الفرعية النقاط القيود المهام الفرعية المطلوبة معلومات التقييم
1 25 $1 \le a < b \le 15$, $2 \le c \le 15$ كاملة
2 25 $1 \le a < b \le 10^5$, $2 \le c \le 10^5$ 1 كاملة
3 25 $1 \le a < b \le 10^9$, $c=2$ كاملة
4 25 $1 \le a < b \le 10^9$, $2 \le c \le 10^9$ 1, 2, 3 كاملة

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.