Module: جستجوی باینری


Problem

4 /5


جستجوی باینری چپ و راست

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