مسابقه برنامه نویسی ویژه سال نو شمسی (1401) که توسط دانشگاه امیرکبیر دانشکده علوم کامپیوتر قرار است برگزار شود.
📔 این مسابقه یه ترکیب خوب از بخشهای مختلف برنامه نویسی مثل الگوریتم و پیاده سازی هست، اصلا به اینکه برنامه نویسیم خوب نیست و اینا هم فکر نکنید.
با هر زبان برنامهنویسی که بلدید هم میتوانید به سوالات پاسخ بدهید.
شما برای پاسخ به سوالات ۳ ساعت زمان دارید و تمام این مدت از طریق چت داخل کوئرا با شما در ارتباط خواهیم بود.
توجه کنید همه میتونید برنده بشوید و از طریق لینک مربوط به جشن توی کانالهای مربوطیه عضو شوید.
جایزه این مسابقه هم که توی همون لینک نوشته شده است.
1️⃣🆚2️⃣ میتونین به صورت تکی یا تیمهای دو نفره شرکت کنین که پیشنهادم اینه که تیم داشته باشین و شانس برنده شدنتون رو بیشتر کنید و به تیمهایی با عضوهای بیشتر جایزه تعلق نمیگیرد.
🖊 اما مهم ترین اتفاق دادن لیست تمام افراد (بدون توجه به رتبه) به اسپانسرها (دیوار، یکتانت، جیبیت، فینووا و ... ) به عنوان فرصت شغلی است. پس پروفایل کوئراتون رو کامل کنید حتما^^
⁉️ هر سوالی هم در مورد مسابقه داشتین حتما با ما در ارتباط باشید. باتوجه به لینک زیر در ارتباط باشید.
🔥 در آخر هم موفق باشید
تمام لینک ها را میتوانید در ادرس زیر مشاهده کنید:
https://yek.link/MCS_NOWBAHAR
بازم تاکید میکنم در کانال تلگرام جشن نوبهار ما عضو بشوید تا اطلاعیه ها را از دست ندهید.
مسابقه برنامه نویسی ویژه سال نو شمسی (1401) که توسط دانشگاه امیرکبیر دانشکده علوم کامپیوتر قرار است برگزار شود.
📔 این مسابقه یه ترکیب خوب از بخشهای مختلف برنامه نویسی مثل الگوریتم و پیاده سازی هست، اصلا به اینکه برنامه نویسیم خوب نیست و اینا هم فکر نکنید.
با هر زبان برنامهنویسی که بلدید هم میتوانید به سوالات پاسخ بدهید.
شما برای پاسخ به سوالات ۳ ساعت زمان دارید و تمام این مدت از طریق چت داخل کوئرا با شما در ارتباط خواهیم بود.
توجه کنید همه میتونید برنده بشوید و از طریق لینک مربوط به جشن توی کانالهای مربوطیه عضو شوید.
جایزه این مسابقه هم که توی همون لینک نوشته شده است.
1️⃣🆚2️⃣ میتونین به صورت تکی یا تیمهای دو نفره شرکت کنین که پیشنهادم اینه که تیم داشته باشین و شانس برنده شدنتون رو بیشتر کنید و به تیمهایی با عضوهای بیشتر جایزه تعلق نمیگیرد.
🖊 اما مهم ترین اتفاق دادن لیست تمام افراد (بدون توجه به رتبه) به اسپانسرها (دیوار، یکتانت، جیبیت، فینووا و ... ) به عنوان فرصت شغلی است. پس پروفایل کوئراتون رو کامل کنید حتما^^
⁉️ هر سوالی هم در مورد مسابقه داشتین حتما با ما در ارتباط باشید. باتوجه به لینک زیر در ارتباط باشید.
🔥 در آخر هم موفق باشید
تمام لینک ها را میتوانید در ادرس زیر مشاهده کنید:
https://yek.link/MCS_NOWBAHAR
بازم تاکید میکنم در کانال تلگرام جشن نوبهار ما عضو بشوید تا اطلاعیه ها را از دست ندهید.
+ محدودیت زمان: ۲ ثانیه
+ محدودیت حافظه: ۲۵۶ مگابایت
----------
دزدان این روزها به خلاقیت والایی رسیدند و روی به دزدیدن آجرهای دیوار ملت آوردند! اما از آنجا که خلاقانه کار میکنند، قبل از هر عملیات برنامه ریزیهای لازم برای برداشتن آجرها را به عمل میآورند.
(آجرها به شکل ستون های متصل به هم قرار دارند.) آنها پس از انتخاب یک دیوار ابتدا $n$ که همان تعداد ستونها هست را بدست میآورند و سپس ارتفاع هر ستون ($h_i$) را بدست میآورند. (ارتفاع همان تعداد آجر هر ستون است.) بعد از شمارش آجرها را از بالا و به شکل مستطیلهای متصل به هم برمیدارند (یعنی هر آجر برداشته شده باید همسایه ضلعی حداقل یک آجر دیگر باشد). از آنجا که این افراد عادل و انسان دوست هستند، حتما پایین ترین آجر را باقی میگذراند تا فرآیند بازسازی دیوار برایتان آسان تر شود!
سبحان که فردی کنجکاو است از نقشه این دزدان با خبر شد و میخواهد تعداد تمام حالتهای برداشتن آجرها از روی دیوار همسایههای خود را بررسی کنید.
از آنجایی که برخی همسایه ها دیوارهای بسیار مرتفع و عریضی دارند، باقی مانده کل حالات به عدد $10^9+7$
را نمایش دهید.
# ورودی
خط اول شامل عدد طبیعی $n$ است. $$1 \le n \le 10^6 $$
خط دوم شامل n عدد با فاصله از هم
$h_1, h_2, ..., h_n $
$$1 \le h_i \le 10^9$$
که $h_i$ برابر ارتفاع ستون i-ام است.
# خروجی
خروجی برنامه حاصل باقی مانده تعداد کل حالات گرفتن آجرها بر عدد
$10^9+7$
میباشد.
# مثال
## ورودی نمونه ۱
```
1
1
```
## خروجی نمونه ۱
```
0
```
از آنجایی که دزدان منصف اند، نمیتوانند از پایین ترین سطر بردارند، پس هیچ حالتی وجود ندارد.
## ورودی نمونه ۲
```
3
3 2 3
```
## خروجی نمونه ۲
```
8
```
تمام حالات در تصویر زیر نمایش داده شده است.

دزدان دیواری
- محدودیت زمان: ۲ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
دزدان این روزها به خلاقیت والایی رسیدند و روی به دزدیدن آجرهای دیوار ملت آوردند! اما از آنجا که خلاقانه کار میکنند، قبل از هر عملیات برنامه ریزیهای لازم برای برداشتن آجرها را به عمل میآورند.
(آجرها به شکل ستون های متصل به هم قرار دارند.) آنها پس از انتخاب یک دیوار ابتدا n که همان تعداد ستونها هست را بدست میآورند و سپس ارتفاع هر ستون (hi) را بدست میآورند. (ارتفاع همان تعداد آجر هر ستون است.) بعد از شمارش آجرها را از بالا و به شکل مستطیلهای متصل به هم برمیدارند (یعنی هر آجر برداشته شده باید همسایه ضلعی حداقل یک آجر دیگر باشد). از آنجا که این افراد عادل و انسان دوست هستند، حتما پایین ترین آجر را باقی میگذراند تا فرآیند بازسازی دیوار برایتان آسان تر شود!
سبحان که فردی کنجکاو است از نقشه این دزدان با خبر شد و میخواهد تعداد تمام حالتهای برداشتن آجرها از روی دیوار همسایههای خود را بررسی کنید.
از آنجایی که برخی همسایه ها دیوارهای بسیار مرتفع و عریضی دارند، باقی مانده کل حالات به عدد 109+7
را نمایش دهید.
ورودی🔗
خط اول شامل عدد طبیعی n است. 1≤n≤106
خط دوم شامل n عدد با فاصله از هم
h1,h2,...,hn
1≤hi≤109
که hi برابر ارتفاع ستون i-ام است.
خروجی🔗
خروجی برنامه حاصل باقی مانده تعداد کل حالات گرفتن آجرها بر عدد
109+7
میباشد.
مثال🔗
ورودی نمونه ۱🔗
خروجی نمونه ۱🔗
از آنجایی که دزدان منصف اند، نمیتوانند از پایین ترین سطر بردارند، پس هیچ حالتی وجود ندارد.
ورودی نمونه ۲🔗
خروجی نمونه ۲🔗
تمام حالات در تصویر زیر نمایش داده شده است.

ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.