```html <pre><code>دمج مع حساب الانعكاسات</code></pre> ```
TypeScript
Hard
sorting
مهمة «```html <pre><code>دمج مع حساب الانعكاسات</code></pre> ```»
إليك ترجمة النص مع الحفاظ على جميع وسوم HTML وعدم تغيير أي كود برمجي:
<p>مصفوفة من الأعداد الصحيحة. يجب ترتيبها تصاعدياً باستخدام خوارزمية الفرز بالدمج (Merge Sort)، بالإضافة إلى حساب عدد الانعكاسات (inversions) في المصفوفة الأصلية. الانعكاس هو زوج من المؤشرات (i, j) بحيث i < j و a[i] > a[j]. بيانات الإدخال: السطر الأول يحتوي على العدد n (1 ≤ n ≤ 10^5)، والسطر الثاني يحتوي على n من الأعداد الصحيحة، كل منها لا يتجاوز قيمته المطلقة 10^9. بيانات الإخراج: السطر الأول — عدد الانعكاسات، السطر الثاني — المصفوفة المرتبة مفصولة بمسافات.</p>
<p>مصفوفة من الأعداد الصحيحة. يجب ترتيبها تصاعدياً باستخدام خوارزمية الفرز بالدمج (Merge Sort)، بالإضافة إلى حساب عدد الانعكاسات (inversions) في المصفوفة الأصلية. الانعكاس هو زوج من المؤشرات (i, j) بحيث i < j و a[i] > a[j]. بيانات الإدخال: السطر الأول يحتوي على العدد n (1 ≤ n ≤ 10^5)، والسطر الثاني يحتوي على n من الأعداد الصحيحة، كل منها لا يتجاوز قيمته المطلقة 10^9. بيانات الإخراج: السطر الأول — عدد الانعكاسات، السطر الثاني — المصفوفة المرتبة مفصولة بمسافات.</p>
تنسيق الإدخال
أولاً عدد صحيح n. ثم n من الأعداد الصحيحة مفصولة بمسافات.
تنسيق الإخراج
سطران: الأول — عدد الانعكاسات (عدد صحيح)، الثاني — مصفوفة مرتبة مفصولة بمسافات.
أمثلة
مثال 1
الإدخال
5
3 1 4 2 5
الإخراج
3
1 2 3 4 5
مثال 2
الإدخال
4
4 3 2 1
الإخراج
6
1 2 3 4
مثال 3
الإدخال
123
الإخراج
0
مثال 4
الإدخال
0
الإخراج
0
main.ts