grade

Time limit: 0.1s Memory limit: 64MB Input: grade.in Output: grade.out

Fie nn un număr natural nenul şi un şir de nn numere naturale notate d1,d2,,dnd_1, d_2, …, d_n.

Cerinţă

Scrieţi un program care să determine un graf conex care are secvenţa gradelor vârfurilor d1,d2,,dnd_1, d_2, \cdot , d_n.

Date de intrare

În fişierul de intrare grade.in se află pe prima linie un număr natural nn, iar pe linia doua n valori naturale separate prin spaţii, reprezentând numerele d1,d2,,dnd_1, d_2, \cdot, d_n.

Date de ieşire

Fişierul de ieşire grade.out va conţine pe fiecare linie câte două numere naturale (cuprinse între 11 şi nn), separate printr-un spaţiu x yx \ y, cu semnificaţia în graful conex obţinut există muchie între vârful xx şi vârful yy.

Restricţii

  • 1n5 0001 \leq n \leq 5 \ 000
  • Vârfurile grafului vor fi numerotate de la 11 la nn.
  • Nu este necesar ca vârful 11 să aibă gradul d1d_1, vârful 22 să aibă gradul d2d_2, etc. Două secvenţe de grade sunt considerate egale dacă după sortare ele coincid.

Exemplul 1

grade.in

5
2 1 1 2 4

grade.out

5 1
4 1
3 2
3 1
1 2

Log in or sign up to be able to send submissions!