SUME


Gửi bài giải

Điểm: 50
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G

Tác giả:
Kiểu bài tập
Ngôn ngữ cho phép
C++, Python

Cho một mảng A gồm n số nguyên dương a₁, a₂, …, aₙ. Với mỗi giá trị aᵢ, hãy tính giá trị x + y, trong đó:

  • x là chỉ số lớn nhất nhỏ hơn i thỏa mãn aₓ > aᵢ. Nếu không tồn tại x thỏa mãn thì x = -1;
  • y là chỉ số nhỏ nhất lớn hơn i thỏa mãn aᵧ > aᵢ. Nếu không tồn tại y thỏa mãn thì y = -1.

Yêu cầu: Với mỗi phần tử aᵢ, hãy tính giá trị x + y tương ứng.

INPUT

  • Dòng đầu tiên chứa số nguyên dương N (1 ≤ N ≤ 10⁶);
  • Dòng thứ hai chứa N số nguyên dương a₁, a₂, …, aₙ (1 ≤ aᵢ ≤ 10¹⁸).

OUTPUT

Gồm N số nguyên, số thứ i là kết quả tương ứng với phần tử aᵢ.

Ví dụ

Sample Input
5 
5 4 1 3 2
Sample Output
-2 0 6 1 3
Giải thích

Với từng vị trí i, ta có:

  • Giá trị x tương ứng là: -1, 1, 2, 2, 4;
  • Giá trị y tương ứng là: -1, -1, 4, -1, -1.

Do đó:

  • Với i = 1: x = -1, y = -1 ⇒ x + y = -2;
  • Với i = 2: x = 1, y = -1 ⇒ x + y = 0;
  • Với i = 3: x = 2, y = 4 ⇒ x + y = 6;
  • Với i = 4: x = 2, y = -1 ⇒ x + y = 1;
  • Với i = 5: x = 4, y = -1 ⇒ x + y = 3.

Nhận xét

Không có ý kiến tại thời điểm này.