Crisi culinària a Ciutat Plana

A Ciutat Plana, la gent és molt sedentària. De fet, detesten caminar més que qualsevol altra cosa al món.
L’única cosa que els pot fer aixecar del sofà és la seva passió infinita per la botifarra amb mongetes (una afició importada recentment). Gràcies a aquest nou amor gastronòmic, han aparegut moltes botigues que en venen, tot i que, per desgràcia, ningú vol sortir de casa a comprar-ne. Cap habitant ha gosat explorar la ciutat per descobrir quina és la botiga més propera: podrien acabar caminant massa, i això seria una tragèdia. Davant d’aquesta crisi, el Cap del Gremi de Mongetistes i Botifarraires us ha encarregat una important missió:
Per a cada edifici residencial, determineu quina és la botiga més propera a la qual poden anar. I atenció: “a la qual poden anar” és rellevant, perquè la Ciutat Plana és extremadament classista. Cap habitant s’atreviria a comprar en una botiga regentada per algú d’estatus social inferior. Déu els en guard.
Entrada
La primera línia conté 2 enters \(N\) i \(M\), representant el nombre de domicilis de la ciutat i el nombre de botigues de botifarra amb mongetes. (\(0 \le N, M \le 200.000\))
La segona línia conté \(N\) enters \(x_1, x_2, ... x_N\), representant la posició de cada domicili a la recta horitzontal de la ciutat. (\(0 \le x_i < x_{i+1} \le 10^9 \quad \forall i<N\))
La tercera línia conté \(N\) enters \(e_1, e_2, ... e_N\), representant l'estatus dels habitants de cada domicili. (\(0 \le e_i \le 10^9 \quad \forall i \le N\))
La quarta línia conté \(M\) enters \(y_1, y_2, ... y_M\), representant la posició de cada botiga a la recta horitzontal de la ciutat. (\(0 \le y_i < y_{i+1} \le 10^9 \quad \forall i<M\))
La cinquena línia conté \(M\) enters \(s_1, s_2, ... s_M\), representant l'estatus de cada una de les botigues de botifarra amb mongetes. (\(0 \le s_i \le 10^9 \quad \forall i \le M\))
Sortida
S’han d’imprimir \(N\) enters en una línia \(r_1, r_2, ... r_N\), on cada element indicarà l'índex de la botiga amb estatus igual o superior més propera al domicili (a la posició \(i\), la \(j\) que minimitza \(|x_i-y_j|\) i compleix \(e_i \ge s_j\)).
Si més d'una botiga que compleix els requisits es troba a la mateixa distància ens quedarem amb la que tingui l'índex mínim.
Si no existeix una botiga on anar s'escriurà un \(0\). (\(0 \le r_i \le M\))
Exemple d'entrada
3 2
0 5 10000
2 3 1
2 10000
1 2
Exemple de sortida
2 0 2
Explicació
Els habitants de la primera residència només poden anar a la segona botiga malgrat que estigui molt més lluny que la primera, perquè és l'única amb estatus \(\ge 2\).
Els habitants de la segona residència no poden anar a cap botiga, perquè totes les botigues tenen estatus \(\le 3\).
Els habitants de la tercera residència poden escollir a quina botiga comprar. Escolliran la segona perquè és la que els queda més a prop.
Comentaris