Fişierul intrare/ieşire: | expectedpos.in, expectedpos.out | Sursă | Algoritmiada 2010, Runda Finala |
Autor | Stefan Istrate | Adăugată de | |
Timp execuţie pe test | 0.1 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
ExpectedPos
Gigel a primit de ziua lui K liste de numere întregi, având lungimea totală N. Poate vă gândiţi că sunt un cadou banal, însă listele acestea sunt chiar deosebite: fiecare din ele este ordonată crescător. Din nefericire, aţi uitat să îi luaţi cadou lui Gigel, însă el promite că o să vă ierte dacă îl ajutaţi să răspundă la M întrebari de forma "Dacă aş adăuga valoarea X în fiecare din cele K liste, care ar fi poziţia medie pe care ar fi inserată astfel încât să se păstreze ordinea crescătoare a elementelor din fiecare listă?". Poziţia medie este definită ca fiind media aritmetică a poziţiilor pe care este inserată valoarea X. Mai ştiţi că, în situaţii ambigue (când există mai multe poziţii posibile de inserare într-o listă), se va prefera întotdeauna ultima astfel de poziţie.
Date de intrare
Fişierul de intrare expectedpos.in conţine pe prima linie numerele N şi K, cu semnificaţia din enunţ. Fiecare din următoarele K linii conţine o listă primită de Gigel, specificată sub forma c VAL1 VAL2 ... VALc (c este numărul de elemente, iar valorile de după el sunt elementele listei). Linia K + 2 conţine numărul M al întrebărilor, iar urmatoarele M linii conţin câte o valoare întreagă corespunzătoare fiecărei întrebări.
Date de ieşire
În fişierul de ieşire expectedpos.out se vor scrie M răspunsuri, fiecare pe câte o linie. Un răspuns va fi o fracţie ireductibilă scrisă sub forma A/B. Atenţie! Între A, semnul '/' şi B nu există niciun spaţiu! Vedeţi exemplul pentru clarificare.
Restricţii
- 1 ≤ N ≤ 100.000
- 1 ≤ K ≤ 1.000
- 1 ≤ M ≤ 100.000
- Fiecare listă conţine cel puţin un element.
- Atât elementele listelor cât şi valorile X pe care încearcă Gigel să le insereze sunt numere întregi cu semn pe 32 de biţi.
- Numerotarea poziţiilor începe de la 1.
- Pentru 70% din teste N ≤ 10.000.
Exemplu
expectedpos.in | expectedpos.out |
---|---|
10 3 1 7 6 -4 -2 0 3 3 9 3 1 3 3 2 3 -100 | 11/3 1/1 |
Explicaţie
Poziţiile de inserare pentru valoarea 3 sunt 1, 6 şi 4. Deci poziţia medie este (1 + 6 + 4) / 3 = 11 / 3. Poziţiile de inserare pentru valoarea -100 sunt 1, 1 şi 1, deci poziţia medie va fi 3 / 3 = 1 / 1.