تایتل قالب طراحی سایت سئو قالب بیان
مطالب یک عاشق تکنولوژی...


سوال اصلی:

http://codeforces.com/problemset/problem/920/C


ترجمه مختصر:

C. Swap Adjacent Elements
محدودیت زمانی برای اجرا: 1 ثانیه
محدودیت حجم مورد استفاده برای اجرا: 256 مگابایت
شما آرایه a را با n تعداد عدد در اختیار دارید. هر کدام از اعداد از 1 تا n فقط یک بار در این آرایه تکرار شده اند.
برخی از این اعداد توانایی جابجایی با عنصر بعدی خود دارند و بعضی از آن ها ندارند، این بستگی به مقدار عنصر i (که هم اندیس با شماره عدد است) دارد.
ورودی
سطر اول شامل مقدار n است(2 ≤ n ≤ 200000). (تعداد اعضای آرایه a)
سطر دوم اعضای آرایه a است. (1 ≤ ai ≤ 200000)
سطر سوم string متشکل از اعضای i میباشد که نشان دهنده ی جابجایی پذیری عنصر ai ام با عنصر ai+1 ام میباشد. اگر عدد i برابر 1 باشد عنصر ai قابلیت جاجایی دارد و در صورتی که این مقدار صفر شود، نمیتوان این عدد را جابجا کرد. بنابرین این رشته فقط از 0 و 1 تشکیل شده است.
خروجی 
اگر عناصر آرایه قابلیت مرتب شد را دارند، عبارت "YES" و در غیر اینصورت عبارت "NO" را به خروجی ارسال کنید.
مثال 
ورودی 
6
1 2 5 3 4 6
01110
خروجی
YES
ورودی
6
1 2 5 3 4 6
01010
خروجی
NO


جواب::

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


ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی

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


طبقه بندی موضوعی