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

به آزمون ورودی کارآموزی تابستانه Software Engineering کداستار خوش آمدید!

مسابقه به مدت ۶ ساعت ادامه خواهد داشت و در مجموع شامل ۵ سوال است که سطح آن‌ها از آسان به سخت متفاوت خواهد بود به طوری که ۳ سوال اول الگوریتمی هستند و ۲ سوال آخر پیاده‌سازی می‌باشند. برای حل سوالات الگوریتمی می‌توانید از زبان‌های C++، Java و Python استفاده کنید اما سوالات پیاده‌سازی را فقط می‌توانید با Java یا Python حل کنید.

سوالات به گونه‌ای تنظیم شده‌اند که با توجه به دانشی که دارید بتوانید بخشی از نمرۀ سوال را بگیرید. به عنوان مثال اگر نتوانید سوال ۳ را به طور کامل حل کنید، این امکان وجود دارد که بتوانید بخشی از سوال ۴ را حل کنید؛ بنابراین حتما به تمام سوالات مراجعه کنید.

رتبه‌بندی بر اساس مجموع امتیازاتی که از سوالات کسب می‌کنید صورت می‌گیرد؛ همچنین در صورتی که امتیاز دو نفر یکسان شود، کسی که سوالات را در مدت‌زمان کمتری حل کرده باشد، رتبۀ بهتری کسب می‌کند.

در صورتی که درمورد سوالی ابهام داشتید، می‌توانید از قسمت «سوال بپرسید» آن را مطرح کنید.

برای کسب اطلاعات بیشتر به لینک‌های زیر مراجعه کنید:

موفق باشید 😉✌

الگوریتمی - ژنرال


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

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

آرایش‌ها🔗

  1. آرایش اول: هر تانک با فاصله ۳ متر در سمت چپ تانک قبلی قرار می‌گیرد.
  2. آرایش دوم: هر تانک با فاصله ۳ متر در سمت راست تانک قبلی قرار می‌گیرد.

نکات🔗

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

ورودی🔗

در خط اول ورودی، nn می‌آید که بیانگر تعداد تانک‌هاست. سپس در خط بعد، مختصات nn تانک به ترتیب به صورت دنباله‌ای از xix_iها می‌آید.

5n10 000 5 \leq n \leq 10\ 000 50 000xi50 000 -50\ 000 \leq x_i \leq 50\ 000

خروجی🔗

در خروجی، مقدار جابه‌جایی هر تانک را به ترتیب در خطوط جداگانه چاپ کنید.

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

6
3 -1 4 -1 6 2
Plain text

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

0
+1
-7
-5
-15
-14
Plain text
توضیح نمونه ۱

قبل

  • از آنجایی که موقعیت تانک اول باید ثابت باشه، همیشه مقدار جابه‌جایی آن ۰ است.
  • برای آنکه تانک دوم با فاصله ۳ متر در سمت چپ تانک اول قرار گیرد، باید ۱ متر به سمت راست جابه‌جا شود.
  • برای آنکه تانک سوم با فاصله ۳ متر در سمت چپ تانک دوم قرار گیرد، باید ۷ متر به سمت چپ جابه‌جا شود.
  • به همین صورت، تانک‌های چهارم، پنجم و ششم باید به ترتیب ۵، ۱۵ و ۱۴ متر به سمت چپ جابه‌جا شوند.

مجموع این جابه‌جایی‌ها ۴۲ متر است و به همین صورت مجموع جابه‌جایی‌های آرایش دوم، برابر ۵۰ می‌شود؛ بنابراین آرایش اول را به‌عنوان جواب انتخاب می‌کنیم.

بعد

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

5
-8 -9 1 5 7
Plain text

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

0
+4
-3
-4
-3
Plain text
توضیح نمونه ۲

در صورتی که آرایش اول را انتخاب کنیم، باید تانک‌ها را به ترتیب ۰، ۲-، ۱۵-، ۲۲- و ۲۷- متر جابه‌جا کنیم؛ اما اگر آرایش دوم را انتخاب کنیم، باید تانک‌ها را به ترتیب ۰، ۴+، ۳-، ۴- و ۳- متر جابه‌جا کنیم؛

مجموع جابه‌جایی‌ها در آرایش اول برابر با ۶۶ و در آرایش دوم برابر با ۱۴ می‌شود؛ بنابراین آرایش دوم را به عنوان جواب انتخاب می‌کنیم.

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