Module: (C++) برای عملگر حلقه. وظایف معمولی


Problem

13 /16


حداکثر دوم

Theory Click to read/hide

وظیفه

N عدد داده شده است. دومین عنصر بزرگ را در یک دنباله پیدا کنید.

این مشکل دو تفسیر را امکان پذیر می کند.
به عنوان مثال، اگر مجموعه‌ای از اعداد به ما داده شود: \(10\ 15\ 20\ 35\ 14\ 35\ 10\)، پاسخ چیست؟ ?
تحت "دومین عنصر بزرگ" یا به سادگی "دومین حداکثر" را می توان به صورت زیر درک کرد:
1) مقداری که اگر همه مقادیر را به ترتیب غیر کاهشی مرتب کنیم (مرتب سازی کنیم) در مکان ماقبل آخر قرار می گیرد (هر یک بزرگتر یا برابر با قبلی است). سپس برای مجموعه اعداد در نظر گرفته شده، پاسخ مقدار 35 خواهد بود؛
2) مقدار عنصر که فقط از حداکثر بیشتر است. سپس پاسخ 20 است.
اگر تنها یک عنصر حداکثر در مجموعه اعداد وجود داشته باشد (همه بقیه کمتر هستند)، هر دو تفسیر یکسان است و پاسخ برای هر دو مورد یکسان خواهد بود، در غیر این صورت پاسخ متفاوت خواهد بود.

مورد اول را در نظر بگیرید (الگوریتم را در شبه کد).
برای یافتن پاسخ از دو متغیر استفاده می کنیم:
1) maximum1 - حداکثر مقدار (اول حداکثر)؛
2) maximum2 - حداکثر دوم (پاسخ ما).

اگر محدوده تغییر مقادیر مشخص باشد، به عنوان مقادیر اولیه، عددی را می گیریم که آشکارا کمتر از حد پایین محدوده است (به عنوان مثال، با محدوده ای از -1000 تا 1000 - عدد را بگیرید -1001)
اگر محدوده مقادیر ناشناخته است، می توانید دو عدد ورودی اول را در مقادیر اولیه متغیرهای max1 و max2 بنویسید و سپس آنها را با هم مقایسه کنید. دو متغیر <پیش> ورودی N //تعداد اعداد ورودی a، b max1 = a max2 = b اگر b > الف، سپس     max1 = b     max2 = a
در مرحله بعد، ما همه عناصر دیگر را در نظر می گیریم (2 مورد اول قبلاً مشاهده شده است، بنابراین از 3 شروع می کنیم) <پیش> nc برای i از 3 تا n ورودی الف اگر > حداکثر1 //مقداری بزرگتر از حداکثر1 وجود داشت که max2 = max1 //اول سابق بالاتر دوم می شود max1 = a // عنصر جدید اولین حداکثر خواهد بود در غیر این صورت //عنصر بعدی بیش از max1 نباشد // باید با مقدار حداکثر 2 مقایسه شود اگر > حداکثر 2 که max2 = a //آن را به عنوان مقدار جدید max2 در نظر بگیرید // max1 در این مورد تغییر نمی کند همه همه kts
سعی کنید خودتان این الگوریتم را پیاده سازی کنید.

Problem

اعداد صحیح N داده شده است. دومین عنصر بزرگ دنباله را بیابید (عنصری که اگر ورودی به ترتیب غیر نزولی مرتب شده باشد، آخرین عنصر خواهد بود).

ورودی
خط اول عدد N را مشخص می کند (\(2<=N<=10^4\)). به دنبال آن N خط، هر خط یک عدد صحیح از 105 مدول بیشتر نباشد. 

حصر
دومین عنصر حداکثر را چاپ کنید.

 

نمونه‌ها
<سر> <بدن>
# ورودی خروجی
1 7
10
15
20
35
14
35
10
35
2 5
10
5
7
11
9
10