Codeforces Round 198 (Div. 1)
E
Candies Game
Codeforces
3000
原题
← D→
翻译中…

Iahub is playing an uncommon game. Initially, he has $*n*$ boxes, numbered 1, 2, 3, $...$, $*n*$. Each box has some number of candies in it, described by a sequence $*a*_{1}$, $*a*_{2}$, $...$, $*a*_{*n*}$. The number $*a*_{*k*}$ represents the number of candies in box $*k*$.

翻译中…

The goal of the game is to move all candies into exactly two boxes. The rest of $*n* - 2$ boxes must contain zero candies. Iahub is allowed to do several (possible zero) moves. At each move he chooses two different boxes $*i*$ and $*j*$, such that $*a*_{*i*} ≤ *a*_{*j*}$. Then, Iahub moves from box $*j*$ to box $*i*$ exactly $*a*_{*i*}$ candies. Obviously, when two boxes have equal number of candies, box number $*j*$ becomes empty.

翻译中…

Your task is to give him a set of moves such as Iahub to archive the goal of the game. If Iahub can't win the game for the given configuration of boxes, output -1. Please note that in case there exist a solution, you don't need to print the solution using minimal number of moves.

翻译中…

Input

翻译中…

The first line of the input contains integer $*n*$ ($3 ≤ *n* ≤ 1000$). The next line contains $*n*$ non-negative integers: $*a*_{1}, *a*_{2}, ..., *a*_{*n*}$ — sequence elements. It is guaranteed that sum of all numbers in sequence $*a*$ is up to $10^{6}$.

翻译中…

Output

翻译中…

In case there exists no solution, output -1. Otherwise, in the first line output integer $*c*$ $(0 ≤ *c* ≤ 10^{6})$, representing number of moves in your solution. Each of the next $*c*$ lines should contain two integers $*i*$ and $*j*$ $(1 ≤ *i*, *j* ≤ *n*, *i* ≠ *j*)$: integers $*i*$, $*j*$ in the $*k*$th line mean that at the $*k*$-th move you will move candies from the $*j*$-th box to the $*i*$-th one.

翻译中…

Note

翻译中…

For the first sample, after the first move the boxes will contain 3, 12 and 3 candies. After the second move, the boxes will contain 6, 12 and 0 candies. Now all candies are in exactly 2 boxes.

翻译中…

For the second sample, you can observe that the given configuration is not valid, as all candies are in a single box and they should be in two boxes. Also, any move won't change the configuration, so there exists no solution.

翻译中…

For the third sample, all candies are already in 2 boxes. Hence, no move is needed.

翻译中…

样例

Input #1
3
3 6 9
Output #1
2
2 3
1 3
InputCopy OutputCopy
Input #2
3
0 1 0
Output #2
-1
InputCopy OutputCopy
Input #3
4
0 1 1 0
Output #3
0
InputCopy OutputCopy
题目信息
题号
341E
时间限制
2 s
内存限制
256 MB
标签
构造
贪心

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。