CSES - Chess Tournament | Giải đấu cờ vua

Xem PDF

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

Có một giải đấu cờ vua gồm \(n\) người chơi. Mỗi người chơi đã thông báo số lượng ván đấu mà họ muốn tham gia.

Mỗi cặp người chơi có thể tham gia nhiều nhất một ván đấu. Nhiệm vụ của bạn là xác định ván đấu nào sẽ được chơi để mọi người đều hài lòng.

Input

  • Dòng đầu vào đầu tiên có một số nguyên \(n\): số lượng người chơi. Người chơi được đánh số \(1, 2, \ldots, n\).
  • Dòng tiếp theo có \(n\) số nguyên \(x_1, x_2,\ldots,x_n\): với mỗi người chơi, số lượng ván đấu họ muốn tham gia.

Output

  • Đầu tiên in số nguyên \(k\): số lượng ván đấu. Sau đó, in \(k\) dòng mô tả các ván đấu. Bạn có thể in bất kì giải pháp hợp lệ nào.
  • Nếu không có giải pháp nào, in IMPOSSIBLE.

Constraints

  • \(1 \le n \le 10^5\)
  • \(\sum_{i=1}^{n} x_i \le 2 \cdot 10^5\)

Example

Sample input:

5
1 3 2 0 2

Sample output:
4
1 2
2 3
2 5
3 5


Bình luận