Problem

1 /3


البحث عن الحد الأدنى باستخدام قائمة انتظار الأولوية

Theory Click to read/hide

قائمة انتظار الأولوية هي نوع حاوية ، الذي يسمح لك بتحقيق سرعة وصول ثابتة إلى الحد الأقصى (أو الحد الأدنى ) عنصر (O (1)) ، عن طريق زيادة سرعة إدخال العناصر في الحاوية إلى اللوغاريتمية (O (logn)).

العوامل الأساسية:

أعلى نبسب ؛ نبسب ؛ - نبسب ؛ الوصول إلى العنصر العلوي & nbsp؛
نبسب ؛
حجم نبسب؛ - إرجاع عدد العناصر في الحاوية & nbsp؛

دفع نبسب ؛ - إدراج عنصر وفرز الحاوية الأساسية & nbsp؛

فرقعة نبسب؛ - يزيل العنصر الأول & nbsp؛

مثال على الحصول على الحد الأقصى:

نبسب ؛
نبسب ؛
 # include & lt؛ iostream & gt؛ 
 # include & lt؛ queue & gt؛ 
 # include & quot؛ stdio.h & quot؛ 
 باستخدام   مساحة الاسم  std؛

رئيسي()
{

priority_queue  & lt؛   int   & gt؛  p_queue ؛
 int  N، a؛
scanf ( & quot؛٪ d & quot؛ ،  & amp؛  N)؛

 لـ  ( int  i  =   0 ؛ i  & lt؛  N؛ i  ++ )
{
   
scanf ( & quot؛٪ d & quot؛ ،  & amp؛  a)؛
p_queue.push (أ) ؛

  }
  cout  & lt؛ & lt؛  p_queue.top ()؛

}

Problem

نظرا لتسلسل الأرقام. ابحث عن أصغر رقم فيه.
نبسب ؛
إدخال
يتم إعطاء الرقم N أولاً (عدد الأرقام في التسلسل ، & nbsp؛ 1 & lt؛ = N & lt؛ = 100000) ثم
أعداد N.
نبسب ؛
الإخراج
اطبع أصغر رقم.

<الجسم>
أدخل الإخراج
7
4 2 5 -1 4 6 2
-1
نبسب ؛