secvente

Fie A o secventa N de valori distincte, cuprinse intre 1 si N, date intr-o ordine oarecare.
Definim secventa B astfel: B[k] = 1 daca si numai daca primele k valori din secventa A sunt numai numere distincte din multimea {1, 2, ..., k} intr-o ordine oarecare; in caz contrar B[k]=0.

Cerinta

Data fiind secventa B si cateva elemente din secventa A, scrieti un program care sa reconstituie secventa A.

Date de intrare

Fisierul de intrare secvente.in contine:
- pe prima linie doua numere naturale N si M
- pe cea de a doua linie elementele secventei B, separate prin spatii
- pe fiecare dintre urmatoarele M linii informatii despre elementele cunoscute din secventa A sub forma a doua numere naturale X si Y cu semnificatia "al X-lea element din secventa A este Y".

Date de iesire

Fisierul de iesire secvente.out contine o singura linie pe care sunt afisate elementele secventei A. Daca nu exista solutie, se va afisa in fisierul de iesire mesajul IMPOSIBIL.

Restrictii

Exemple

secvente.in

secvente.out

8 3
0 0 0 1 0 0 1 1
1 2
5 6
2 7

IMPOSIBIL

 

secvente.in

secvente.out

7 2
0 0 0 1 0 0 1
1 2
5 6

2 4 3 1 6 7 5

Timp maxim de executie/test: 0.3 secunde

prof. Emanuela Cerchez

Liceul de Informatica "Grigore Moisil" Iasi

Contact:ema@mail.dntis.ro