Dãy nghịch thế (Trại hè MB 2019)

Xem PDF

Điểm: 250 (p) Thời gian: 1.5s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho \(n\) là một số nguyên dương và \(x = (x_1, x_2, ..., x_n)\) là một hoán vị của dãy số \((1, 2, ..., n)\). Với \(\forall i: 1 \le i \le n\), gọi \(t_i\) là số phần tử đứng trước giá trị \(i\) mà lớn hơn \(i\) trong dãy \(x\). Khi đó dãy \(t = (t_1, t_2,..., t_n)\) được gọi là dãy nghịch thế của \(x = (x_1, x_2, ..., x_n)\)

Ví dụ: Với \(n = 6\)

Dãy \(x = (3, 2, 1, 6, 4, 5)\) thì dãy nghịch thế của nó là \(t = (2, 1, 0, 1, 1, 0)\)

Dãy \(x = (1, 2, 3, 4, 5, 6)\) thì dãy nghịch thế của nó là \(t = (0, 0, 0, 0, 0, 0)\)

Dãy \(x = (6, 5, 4, 3, 2, 1)\) thì dãy nghịch thế của nó là \(t = (5, 4, 3, 2, 1, 0)\)

Input

Vào từ file văn bản IVECTOR.INP gồm:

  • Dòng 1: Chứa số nguyên dương \(n \le 10^5\)
  • Dòng 2: Chứa dãy hoán vị \(x\) gồm \(n\) số \(x_1, x_2, ..., x_n\)
  • Dòng 3: Chứa dãy nghịch thế \(t\): gồm \(n\) số \(t_1, t_2,..., t_n\)

Output

Ghi ra file văn bản IVECTOR.OUT gồm:

  • Dòng 1: Ghi lần lượt từng phần tử của dãy nghịch thế của \(x\)
  • Dòng 2: Ghi lần lượt từng phần tử của dãy hoán vị của \(t\)

Example

Test 1

Input
6
1 2 3 4 5 6
2 1 0 1 1 0
Output
0 0 0 0 0 0
3 2 1 6 4 5

Bình luận

Không có bình luận nào.