Partitie

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

Un șir x1,x2,xkx_1, x_2, \dots x_k se numește mic dacă pentru fiecare ii de la 11 la kk avem xiix_i \leq i.

Cerință

Se dă NN și un șir mic a1,a2,aNa_1, a_2, \dots a_N de numere naturale nenule. Fiecărui element de la 11 la NN să i se ascoieze un număr, 11 sau 22 astfel încât suma valorilor de pe pozițiile cu 11 este egală cu suma valorilor de pe pozițiile cu 22. Dacă nu se poate, se va afișa 1-1.

Mai exact, să se partiționeze șirul în două mulțimi de sumă egală.

Date de intrare

Pe prima linie a fișierului de intrare partitie.in se află numărul natural NN. Pe a doua linie se află șirul a1,a2,aNa_1, a_2, \dots a_N.

Date de ieșire

Pe prima linie a fișierului de ieșire partitie.out se va afișa 1-1 dacă nu există nicio partiție. Dacă există se va afișa un șir de lungime NN. Al ii-lea caracter este 11 dacă elementul ii face parte din prima mulțime sau 22 dacă face parte din a doua.

Restricții și precizări

  • 1N100 0001 \leq N \leq 100 \ 000
  • 1aii1 \leq a_i \leq i pentru fiecare ii de la 11 la NN.
  • Pentru teste în valoare de 3131 de puncte, N4N \leq 4

Exemplul 1

partitie.in

6
1 1 2 4 3 5

partitie.out

211221

Explicație

Suma valorilor de pe pozițiile cu 11 este 1+2+5=81 + 2 + 5 = 8, iar suma valorilor de pe pozițiile cu 22 este 1+4+3=81 + 4 + 3 = 8. Observăm că aceste sume sunt egale.

Exemplul 2

partitie.in

4
1 2 3 3

partitie.out

-1

Explicație

Se observă că nu există nicio partiție în două mulțimi de sumă egală.

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