[CSES 1697] Chess Tournament

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python

Sẽ có một giải đấu cờ vua gồm ~n~ kỳ thủ. Mỗi kỳ thủ đã thông báo số ván đấu họ muốn chơi.

Mỗi cặp kỳ thủ có thể chơi tối đa một ván. Nhiệm vụ của bạn là xác định các ván đấu sẽ được tổ chức sao cho tất cả đều hài lòng.

Dữ liệu vào

Dòng đầu tiên chứa một số nguyên ~n~: số lượng kỳ thủ. Các kỳ thủ được đánh số ~1,2,\dots,n~.

Dòng tiếp theo chứa ~n~ số nguyên ~x\_1,x\_2,\dots,x\_n~: với mỗi kỳ thủ, số ván đấu họ muốn chơi.

Kết quả

In ra đầu tiên một số nguyên ~k~: số ván đấu. Sau đó, in ~k~ dòng mô tả các ván đấu. Bạn có thể in ra bất kỳ phương án hợp lệ nào.

Nếu không có lời giải, in ra "IMPOSSIBLE".

Giới hạn

  • ~1 \le n \le 10^5~
  • ~\sum\_{i=1}^{n} x\_i \le 2 \cdot 10^5~

Ví dụ

Dữ liệu vào:

5
1 3 2 0 2

Kết quả:

4
1 2
2 3
2 5
3 5

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.