سلام دوست عزیز😃👋

به مسابقه «کدکاپ ۸ - انتخابی ۲» خوش آمدی!

لینک‌های مفید برای شرکت در مسابقه:

می‌توانید سوال‌ها و مشکلات خود را از بخش «سوال بپرسید» با ما در میان بگذارید.

هرگونه استفاده از ابزارهای آماده‌ی تولید کد مثل chatGPT و یا تبادل کد با سایر شرکت‌کنندگان مسابقه ممنوع است و منجر به حذف شما از رقابت می‌شود.

این مسابقه آخرین مسابقه‌ی سال ۱۴۰۲ است و به نام آن عبارت «خداحافظ ۱۴۰۲» اضافه می‌شود.

موفق باشید و بهتون خوش بگذره 😉✌

درخت بلند


  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

در کشور کدکاپ قدیم nn شهر با شماره‌های ۱ تا nn وجود داشته است. این کشور n1n - 1 جاده دو طرفه داشت و هر جاده دقیقاً دو شهر را به هم متصل می‌کرد. می‌دانیم در کدکاپ قدیم از هر شهری به هر شهر دیگر یک مسیر وجود داشته است (در واقع نقشه‌ی کشور کدکاپ به صورت یک درخت بوده است).

منظور از یک مسیر، دنباله‌ای از شهرهای مختلف مثل v1,v2,,vkv_1, v_2, \dots, v_k\, است؛ به‌طوری که هر دو شهر متوالی با یک جاده به هم متصل شده باشد. طول این مسیر را kk می‌نامیم. منظور از بلندترین مسیر کشور، مسیری است که بین همه‌ی مسیرهای ممکن، بلندترین طول دارد.

اما اکنون نقشه‌ی کشور کدکاپ را از دست دادیم و برای هر شهر، تعداد جاده‌هایی که از آن خارج شده را می‌دانیم. می‌خواهیم با توجه به این عددها در بین تمام نقشه‌های ممکن برای کدکاپ قدیم، نقشه‌ای را در نظر بگیریم که طول بلندترین مسیر آن بیشینه است. از شما می‌خواهیم این طول را حساب کنید.

ورودی🔗

در اولین خط ورودی عدد nn که نشان دهنده تعداد شهرهای کدکاپ قدیم داده می‌شود.

2n10000002 \leq n \leq 1 \, 000 \, 000

سپس در خط بعد nn عدد did_i با فاصله از هم داده می شوند که عدد iiام یعنی did_i نشان دهنده تعداد جاده‌های خارج شده از شهر ii است.

1din11 \leq d_i \leq n - 1

تضمین می‌شود از روی دنباله‌ی داده شده، حداقل یک نقشه برای کدکاپ قدیم می‌توان ساخت.

خروجی🔗

شما باید در یک خط، طول بلندترین مسیر در نقشه‌ی کدکاپ قدیم را چاپ کنید.

مثال‌ها🔗

ورودی نمونه ۱🔗

4
1 2 2 1
Plain text

خروجی نمونه ۱🔗

4
Plain text
توضیح نمونه ۱

نقشه‌ی کدکاپ قدیم می‌تواند به صورت زیر باشد، تا تعداد جاده‌های خارج شده از هر شهر دقیقاً برابر اعداد ورودی باشد. بلند‌ترین مسیر آن 1,2,3,4\langle 1, 2, 3, 4 \rangle است که طول آن ۴ است و این حداکثر مقدار ممکن است.

توضیح نمونه ۱


ورودی نمونه ۲🔗

6
2 2 1 3 1 1
Plain text

خروجی نمونه ۲🔗

5
Plain text
توضیح نمونه ۲

یکی از بلند‌ترین مسیرهای آن 3,1,2,4,5\langle 3, 1, 2, 4, 5 \rangle است که طول آن ۵ است. و بین تمام حالت‌های قابل قبول دیگر برای نقشه‌ی کدکاپ قدیم، این مثال بیشترین طول را برای بلندترین مسیر دارد.

توضیح نمونه ۲


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