Universal Cup Judging System

Universal Cup

実行時間制限: 1 s メモリ制限: 1024 MB
統計

VegiCat נמצא במשימת פינוי מוקשים. ישנם $n$ מוקשים על ציר המספרים. מוקש $i$ נמצא בקואורדינטה השלמה $a_i$. המוקשים ממוספרים לפי סדר הקואורדינטות שלהם, כך שמתקיים $a_1 \le a_2 \le \cdots \le a_n$. קואורדינטות של מוקשים עשויות לחזור על עצמן.

VegiCat בודק כל מוקש פעם אחת, לפי הסדר $1, 2, \ldots, n$. עבור מוקש $i$, הוא בוחר קואורדינטה שלמה $b_i$ כמיקום הבדיקה, שעשויה להיות שלילית או אפס. השגיאה של בדיקה זו היא $|a_i - b_i|$.

problem_23602_14c9702b75e58a41bff4bdd23309f7da.png

עבור כל $2 \le i \le n$, נתון מספר שלם $l_i$, המציין את המרחק המינימלי הנדרש בין מיקומי הבדיקה עבור המוקשים $i - 1$ ו-$i$. מיקומים אלה חייבים לקיים

$$|b_i - b_{i-1}| \ge l_i.$$

עזרו ל-VegiCat למזער את שגיאת הבדיקה הגדולה ביותר; כלומר, מצאו את

$$\min_{\substack{b_1, \ldots, b_n \in \mathbb{Z} \\ |b_i - b_{i-1}| \ge l_i \ (2 \le i \le n)}} \left(\max_{1 \le i \le n} |a_i - b_i|\right).$$

קלט

השורה הראשונה מכילה מספר שלם $T$ ($1 \le T \le 10^4$), מספר מקרי הבדיקה. אחריה מופיע תיאור מקרי הבדיקה.

השורה הראשונה של כל מקרה בדיקה מכילה מספר שלם $n$ ($2 \le n \le 10^5$), מספר המוקשים.

השורה השנייה מכילה $n$ מספרים שלמים $a_1, a_2, \ldots, a_n$ ($1 \le a_i \le 10^9$), כאשר $a_i$ הוא הקואורדינטה של מוקש $i$. מובטח כי $a_1 \le a_2 \le \cdots \le a_n$.

השורה השלישית מכילה $n - 1$ מספרים שלמים $l_2, l_3, \ldots, l_n$ ($1 \le l_i \le 10^9$), כאשר $l_i$ הוא המרחק המינימלי בין מיקומי הבדיקה עבור המוקשים $i - 1$ ו-$i$.

מובטח כי סכום ערכי $n$ על פני כל מקרי הבדיקה אינו עולה על $10^5$.

פלט

עבור כל מקרה בדיקה, הדפיסו מספר שלם — הערך המינימלי האפשרי של שגיאת הבדיקה הגדולה ביותר.

דוגמאות

קלט 1

2
2
1 1
1
7
2 6 12 14 14 16 19
11 8 4 2 10 9

פלט 1

1
6

הערה

במקרה הבדיקה הראשון, בחירת $b_1 = 1$ ו-$b_2 = 2$ נותנת שגיאה מרבית של $1$. שגיאה של $0$ הייתה מחייבת $b_1 = b_2 = 1$, מה שמפר את דרישת המרחק.

במקרה הבדיקה השני, בחירה אופטימלית אחת היא $b = [-4, 7, 15, 10, 8, 22, 13]$. כל המרחקים הנדרשים מתקיימים, והשגיאה המרבית היא $6$.

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.