جستجوی باینری چپ و راست
Problem
با توجه به دو لیست از اعداد، اعداد در لیست اول به ترتیب غیر نزولی هستند. برای هر عدد در لیست دوم، تعداد اولین و آخرین وقوع آن عدد را در لیست اول تعیین کنید.
ورودی:
- سطر اول ورودی حاوی دو عدد N
و M
است (\(1<=N,\ M <=20000\));
- خط دوم حاوی N
اعداد صحیح بدون کاهش — عناصر لیست اول؛
- خط سوم حاوی M
از اعداد صحیح غیر منفی - عناصر لیست دوم است.
همه اعداد موجود در لیست ها اعداد صحیح امضا شده 32 بیتی هستند.
خروجی: برنامه باید خطوط M
را خروجی دهد. برای هر عدد از لیست دوم، شماره اولین و آخرین وقوع آن را در لیست اول چاپ کنید. شماره گذاری از یک شروع می شود. اگر شماره در لیست اول وجود ندارد، باید یک عدد 0 را چاپ کنید.
نمونهها
<سر>
# |
ورودی |
خروجی |
<بدن>
1 |
105
1 1 3 3 5 7 9 18 18 57
57 3 9 1 179
|
10 10
3 4
7 7
1 2
0
|