.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » log

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
log


Timp maxim de execuţie / test:
1.2s
Memorie totala disponibilă / stivă:
32MB / 1MB

Fie expresia:

loga1b1*loga2b2*…*loganbn

Un calculator trebuie să evalueze această expresie aducând-o la forma unui singur număr real. Pentru aceasta, el poate face următoarele calcule:
- Produs = produsul a doua numere reale în t1 unităţi de timp;
- Reducere = înlocuirea expresiei logxy*logyz cu logxz în t2 unităţi de timp;
- Calcul = calculul unui logaritm, rezultatul fiind un număr real; pentru a calcula logab îi sunt necesare t3*(a-b)2 unităţi de timp.

Cerinţă

Să se determine timpul minim pentru a calcula o expresie dată.

Date de intrare

Fişierul de intrare log.in conţine:
- pe prima linie o valoare numerică naturală n cu semnificaţia din enunţ;
- pe a doua linie trei valori numerice naturale t1 t2 t3 separate prin câte un spaţiu, cu semnificaţia din enunţ;
- pe fiecare din următoarele n linii câte două valori numerice naturale ai bi cu semnificaţiile din enunţ.

Date de ieşire

Fişierul de ieşire log.out va conţine o singură valoare reprezentând numărul de unităţi de timp necesare evaluării expresiei.

Restricţii

Pentru 70% din teste 0 < n ≤ 500; pentru celelalte 30% din teste n ≤ 10000;
1 < ai,bi < 100
1 ≤ t1,t2,t3 ≤ 100

Factorii expresiei iniţiale sau ai oricăreia dintre expresiile rezultate pe parcursul evaluării NU pot fi comutaţi între ei.

Exemple

log.inlog.outExplicaţii
3 2 1 3 2 3 3 4 4 5 13 Se calculează fiecare din cei trei logaritmi, rezultă trei numere, fiecare calcul necesită 3 unităţi de timp; se înmulţesc primele două numere în 2 unităţi de timp, apoi rezultatul se înmulţeşte cu al treilea număr tot în 2 unităţi; în total: 3+3+3+2+2=13 unităţi.
4 2 1 2 2 2 3 4 4 4 4 5 9 Primul logaritm se calculează în 0 unităţi; al doilea şi al treilea se reduc la un logaritm în 1 unitate iar acest logaritm se calculează în 2 unităţi; al patrulea se calculează în 2 unităţi; au rezultat trei numere, care pot fi aduse la unul singur prin două înmulţiri, fiind necesare 1+2+2+2+2=9 unităţi de timp.

autor: Prof. Stelian Ciurea
propunător: Prof. Marinel Şerban
Liceul de Informatică “Grigore Moisil”
marinel_serban@yahoo.com
Probleme recomandate
De la ONI 2007: ceas, numere4, cifru, oua, turn, div3, jeton, politic, trecere, agitatie, lacuri, secv, sotron, triunghi, apel, castel, excursia, matricea, randuri, zidar, desc, felinar, joc6, maxq, tric, cover, dist, munte1, promo, puncte1, role
De acelaşi autor: numar, submat, 2numere, desc, patrate4, scara2, camion1, cifru2, frunze, grade, numar3, cmmmc, ai, robot3, expresie2, cifre4, robot4, momente
Despre programare dinamică: vedete, fbr, tgv, zeratul, rv, comun, retea, circuit, sumdif, copaci, drum, text, palind, joc, vikingi, rafturi, balaur, plimbare, party, pc, pioni, seif, iepuri, numere3, perm, ture, bilete, prop, ro, reduceri, cuburi, invest, cutie2, stalpi, nr2, judete, strict, auto2, tree, jobs, leaves, pstring, program, datorii, senzori, farfurii, joc1, barbie, ambigram, rlcs, cub1, bio, chimie1, otilia, pasune, remi, sir23, tren1, joc5, pachete, echipe, comb, agitatie, ivv, peste, pitici, pipe, shgraf, tabara1, stop, randuri, zidar, sant, produs, subsir, cover, bcast, emax, dist, mesaj1, imax, avere, asmax, raft, suma2, joc12, fni, nr4, join, transport, masina3, lsort, microvirus, fat, cafea, echipe1, anticip, bsir, diamant, petrom, evantai, spion, acolor, evo, bombo, lacusta, lant, team, pitici1, numere8, dep, stiva, subgeom, pviz, tir1, cabane, piramida1, mosia, cuvinte1, gaina, materom, sortari, turnuri, trans, politie, codul, dansatori, nkbiti, kperms, treegame, siruri2, 123, jucarii, bradut, joc15, expozitie, text3, ic, echilibru, distsir, kmax, stalpi1, gaz, triunghi2, v2d, cuiburi, mine, orientare, activ, secvbiti, kcons, pokemon, ubergraf, left, acerc, autostrazi, kdist, select, cazare, fluviu, telecomanda, parcela, pion, subs, suma4, sirmax, bdotcom, viena, sablon2, telecab, ikebana, radare, hacker, obstacole, robotel, centrala, verigi, cds, wg, minusk, radioactiv, enigma, jb, efect, maxviz, ripstick, progresii, maxtri, combcuv, blis, subsiruri, mijloc, probleme, unuzero, palindrom1, minerale, speed, zmax, spider, cntgcd, interclasare, bus, pariuri, riglef, fractii2, fall, arbsum, conuri, arbvalmax, procente, metrou
Despre matrice: vopsea, harta, opmat, sarpe, light, magic2, tetris, origami, concurs, iepuras, tribile, criptmat, cutie, patrate, 3d, pajura, perspic, vecini2, livada, matrice3, kafka, erdos, grup, scor2, reteta2, rezervatie, scoici, tablou, game, stea, submatrix, cifru, jokes, oua, trecere, na, dotnet, renju, ghici, mere1, agitatie, lacuri, sotron, desen1, camion, ceas1, fibo, parc, excursia, matricea, zidar, joc6, concurs2, cladiri, dist, centru, robinson, cuburi2, joc8, joc9, romeo, adevar, soricel2, avere, joc11, vizibil, sah1, blockout, masina3, lsort, anticip, matrice1, evantai, spion, pereti, zumzi, roboti, placare, tabel, ocr, numere7, lacusta, becuri, sir5, flori, cartele, furnica, pavare, poarta, rj, peri, poligon2, sablon1, gradina, matrice4, poartas, balcon, submdisj, v, matrx, figura, neuroni, raze, roboti1, bila, iepurasi, colorare, mat, submatrix1, simetric1, plaja, xor2, guess, albine1, joct, alfabetar, stele, tablou1, alpinist, cladire, cri, grupe2, el, mahjong, sir9, acces, tort1, joc17, mesaj3, zar1, xy, poteci, avioane, broscute, safeu, acoperire1, radioactiv, robot4, lcdr, jb, slide, maxtri, dame, triunghi4, elicop, compresie, mijloc, cubulete, romb, medalion, bile6, zigzag, puncte5, intersectii, matd3, matrixdel, speed, seif1, traseu2, incadrare, betasah, zona, latin, zmax, amestec, sudoku1, gradina1, spider, zone, bemo, rombul, interclasare, rebus1, tabla, arrows, pseudobil, patrat1, rascoala, harta2, relatii, lasere, defrag, matcnt, ssdj, cript, ssk, teren1, fence, cifre6
Despre recurenţă: nrbun2, nrbun, grupe, palind, siruri, vecini, net, pioni, sir2, perm, red, sume3, pavaj, div3, descfib, robot1, soldati1, expresii, agitatie, aparitii, apel, randuri, zidar, maxq, cover, dist, munte1, sir1, vizibil, csir, puncte2, aranjari, numere5, anticip, bsir, evantai, sg1, zumzi, lant, perfect, cifru2, numere8, poarta, pviz, poli, desert, echitabil, patrate6, kperms, jump, petrecere, rege, triunghi3, sir9, arbore1, fibgcd, cds, wg, module, nr0, cover1, culori1, flori2, cntgcd, 2sah, matcnt, nmult
surse trimise | ajutor