#T2291. 国际象棋锦标赛(Chess Tournament)

国际象棋锦标赛(Chess Tournament)

链接: https://cses.fi/problemset/task/1697

板块: Construction Problems

时限: 1.00 s | 内存: 512 MB

题目描述

将举办一场有 nn 名选手参加的国际象棋锦标赛。每名选手都宣布了自己想要参加的比赛场数。

每一对选手之间最多只能进行一场比赛。你的任务是确定要进行哪些比赛,使得所有人都满意。

输入

第一行输入一个整数 nn:选手的数量。选手编号为 1,2,,n1,2,\dots,n

下一行有 nn 个整数 x1,x2,,xnx_1,x_2,\dots,x_n:表示每名选手想要参加的比赛场数。

输出

首先输出一个整数 kk:比赛的场数。然后输出 kk 行,描述这些比赛。你可以输出任意一种合法方案。

如果无解,输出 "IMPOSSIBLE"。

数据范围

1n1051 \le n \le 10^5 i=1nxi2105\sum_{i=1}^{n} x_i \le 2 \cdot 10^5

样例输入

5
1 3 2 0 2

样例输出

4
1 2
2 3
2 5
3 5