F - SQL 解説 /

実行時間制限: 2 sec / メモリ制限: 1024 MiB

表示言語

/ /

Score : 100 points

Problem Statement

As you know, SQL stands for "Sorohue is a Query Lover".

Q queries are given.

  • x: If x < 0, print the input of the |x|–th query; if x > 0, print the output of the |x|–th query. (1 \le |x| \le Q)

After all queries are given, answer all queries in order.

Constraints

  • 1 \le Q \le 500\,000
  • 1 \le |x_i| \le Q
  • All input values are integers.

Input

The input is given from Standard Input in the following format:

Q
x_1 x_2 \dots x_Q

Output

Output Q integers separated by a blank on a single line. The i–th integer is the answer to the i–th query.

The answer to each query must be an integer whose absolute value is between 1 and Q, inclusive.

If there are multiple valid answers, output any one of them. There always exists a way to satisfy the conditions and correctly answer all queries.


Sample Input 1

6
-2 -3 -1 1 2 6

Sample Output 1

-3 -1 -2 -3 -1 4

Query 1 outputs -3, which is the input for Query 2, so it is correct.

Query 4 outputs -3, which is the answer to Query 1, so it is correct.

Query 6 outputs 4, which is the answer to Query 6, so it is correct.

表示言語

/ /

점수 : 100

문제

여러분도 다들 알다시피 SQL은 "Sorohue는 Query를 Love해"의 준말이다.

다음과 같은 쿼리가 Q개 주어진다.

  • x: x < 0이라면 |x|번째 쿼리의 입력, x > 0이라면 |x|번째 쿼리의 출력을 출력한다. (1 \le |x| \le Q)

쿼리가 모두 주어지면 각 쿼리에 순서대로 답해보자.

제한

  • 1 \le Q \le 500\,000
  • 1 \le |x_i| \le Q
  • 입력으로 주어지는 수는 모두 정수이다.

입력

입력은 다음 형식으로 표준 입력으로 주어진다.

Q
x_1 x_2 \dots x_Q

출력

Q개의 정수를 공백으로 구분하여 출력한다. i번째 정수는 i번째 쿼리의 답이다.

모든 쿼리에 대한 답은 절댓값이 1 이상 Q 이하인 정수여야 한다.

가능한 답이 여러 가지라면 그중 아무거나 출력한다. 조건을 만족하면서 모든 쿼리에 올바르게 답하는 방법이 항상 존재한다.


입력 예 1

6
-2 -3 -1 1 2 6

출력 예 1

-3 -1 -2 -3 -1 4

1번 쿼리에는 2번 쿼리의 입력인 -3을 출력했으므로 올바른 답이다.

4번 쿼리에는 1번 쿼리의 답인 -3을 출력했으므로 올바른 답이다.

6번 쿼리에는 6번 쿼리의 답인 4를 출력했으므로 올바른 답이다.

表示言語

/ /

配点 : 100

問題文

皆さんご存知の通り、SQLは「SorohueはQueryをLoveする」の略語です。

次のようなクエリがQ個与えられる。

  • x: x < 0 であれば |x|番目のクエリの入力、x > 0 であれば |x|番目のクエリの出力を出力する。(1 \le |x| \le Q

すべてのクエリが与えられたら、各クエリに対して順番に答えを出してみよう。

制約

  • 1 \le Q \le 500\,000
  • 1 \le |x_i| \le Q
  • 入力される値はすべて整数

入力

入力は以下の形式で標準入力から与えられる.

Q
x_1 x_2 \dots x_Q

出力

Q個の整数をスペースで区切って1行に出力する。そのうちi番目の整数は、i番目のクエリに対する答えである。

すべてのクエリに対する答えは、絶対値が1以上Q以下の整数でなければならない。

答えが複数ある場合は、その中からどれか一つを出力する。条件を満たしつつ、すべてのクエリに正しく答える方法は常に存在する。


入力例 1

6
-2 -3 -1 1 2 6

出力例 1

-3 -1 -2 -3 -1 4

1番目のクエリには、2番目のクエリの入力である -3 を出力したため、正しい答えである。

4番目のクエリには、1番目のクエリの答えである -3 を出力したため、正しい答えである。

6番目のクエリには、6番目のクエリの答えである 4 を出力したため、正しい答えである。