Codeforces Round #803 (Div. 2)
2 өдрийн дараа |
Codeforces Round #804 (Div. 2)
8 өдрийн дараа |
C. Энгийн солилтууд
хугацааны хязгаарлалт 2 секунд
санах ойн хязгаарлалт 256 мегабайт
оролт стандарт оролт
гаралт стандарт гаралт
Чамд $1$-с $n$ хүртэлх ялгаатай тоонуудаас бүрдсэн $a[1], a[2], ..., a[n]$ массив байна. Чиний даалгавар бол энэ массивыг дараах үйлдлийг ашиглан өсөхөөр эрэмбэлэх юм (энэ үйлдлийг хэд хэдэн удаа ашиглаж болно):
- $i$ ба $j$ ($1 ≤ i < j ≤ n$; $(j - i + 1)$ энгийн л тоонууд) хоёр индекс сонгоно;
- $i$ ба $j$-р байрлал дахь элементүүдийг солино; өөрөө хэлвэл дараах шилжүүлэх дарааллыг хэрэглэх боломжтой: $tmp = a[i], a[i] = a[j], a[j] = tmp$ ($tmp$ бол түр зуурын хувьсагч).
Чи ашиглаж буй үйлдлийнхээ тоог багасгах хэрэггүй. Гэхдээ хамгийн ихдээ $5n$ үйлдэл хийнэ.
Оролт
Эхний мөр нь $n$ $(1 ≤ n ≤ 10^{5})$ бүхэл тоог оруулна. Дараагийн мөрөнд $n$ ширхэг ялгаатай бүхэл $a[1], a[2], ..., a[n]$ $(1 ≤ a[i] ≤ n)$ тоонууд байна.
Гаралт
Эхний мөрөнд $k$ $(0 ≤ k ≤ 5n)$ бүхэл тоог хэвлэнэ. Энэ нь хэрэглэсэн үйлдлийн тоо юм. Дараа нь үйлдлүүдийг хэвлэнэ. Үйлдэл бүр нь "$i$ $j$" ($1 ≤ i < j ≤ n$; $(j - i + 1)$ тоог хэвлэнэ.
Хэрвээ олон хариулт байгаа бол тэдгээрийн аль нэгийг хэвлэнэ.
Орчуулсан: Даариймаа
Жишээ тэстүүд
Оролт
3 3 2 1
Гаралт
1 1 3
Оролт
2 1 2
Гаралт
0
Оролт
4 4 2 3 1
Гаралт
3 2 4 1 2 2 4