Sunteți pe pagina 1din 1

Olimpiada de informatic Etapa local, 2006 judeul Cluj

Clasa a X-a
PROBLEMA 1 CROS
La un concurs de tip cros se nscriu n persoane att aduli ct i copii. Ei primesc tricouri cu numele sponsorilor. Tricourile au diferite mrimi din intervalul [1,100]. Cel mai mic tricou are mrimea 1, iar cel mai mare are mrimea 100. Persoana care distribuie tricourile dorete s dea fiecruia un tricou de mrimea potrivit, iar dac nu are unul i d un tricou de mrime mai mare i ct mai apropiat de cea solicitat. Persoanele vor primi tricourile n ordinea nscrierii. Stabilii mrimea tricourilor pe care le va primi fiecare persoan, astfel nct cea mai mare diferen dintre mrimea solicitat de ctre oricare persoan i cea primit de ea s fie minim!

Date de intrare
Pe prima linie a fiierului CROS.IN se afl numrul natural n, reprezentnd numrul persoanelor care particip la cros. Urmtoarele n linii ale fiierului conin cte un numr natural, reprezentnd mrimea tricoului necesar unei persoane n ordinea n care ele sunt numerotate de la 1 la n. Urmtoarele linii, pn la sfritul fiierului conin cte dou numere naturale: primul reprezint o mrime de tricou existent n depozit, iar al doilea reprezint numrul tricourilor existente n depozit avnd aceast mrime. Aceste date sunt ordonate cresctor dup mrimea tricourilor (primul numr din perechea de numere).

Date de ieire
Fiierul de ieire CROS.OUT va conine n linii pe care se va scrie cte un numr natural. Numrul scris pe a i-a linie reprezint mrimea tricoului pe care l va primi cea de-a i-a persoan.

Restricii i precizri
3 n 5 000; mrimile tricourilor sunt numere naturale cuprinse n intervalul [1, 100]; n depozit pot exista cel mult 15 000 de tricouri; un tricou primit are ntotdeauna o mrime care nu este mai mic dect cea solicitat; ntotdeauna va exista soluie; dac, de exemplu, exist mai multe persoane care au nevoie de tricouri de aceeai mrime i nu exist suficiente tricouri de mrimea respectiv, atunci prima persoan nscris (n ordinea de la 1 la n) va primi tricoul de mrime ct mai apropiat de cea solicitat.

Exemplu
CROS.IN 5 27 15 42 17 35 20 1 28 2 43 3 CROS.OUT 28 20 43 28 43

Timp maxim de execuie/test : 1 secund

S-ar putea să vă placă și