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

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


Timp maxim de execuţie/test:
3 secunde
Memorie totala disponibilă/stivă:
2 MB/1 MB

Comandantul Zeratul trebuie să ajungă de pe planeta Korhal pe planeta Aiur, pentru a conduce bătălia împotriva zergilor. Harta universului se poate reprezenta printr-o matrice cu n linii şi m coloane. Planeta Korhal se află la coordonatele (1,1), iar planeta Aiur la coordonatele (n,m). Zeratul trebuie să adune o armată cât mai mare în timpul drumului. El are la dispoziţie un vector A de lungime n şi un vector B de lungime m, pe baza cărora poate calcula numărul exact de unităţi ce vor fi teleportate în fiecare celulă a matricei în momentul când ajunge el acolo. La coordonatele (i,j) se vor afla exact A[i]*B[j] unităţi în momentul când comandantul ajunge acolo. Nava spaţială pe care o conduce poate efectua doar trei tipuri de manevre:
A – din coordonatele (i,j) se deplasează în coordonatele (i+1,j);
B – din (i,j) în (i,j+1);
C – din (i,j) în (i+1,j+1).

Cerinţă

Determinaţi numărul maxim de soldaţi, cu care Zeratul poate începe bătălia (incluzând şi unităţile aflate pe Korhal şi Aiur) şi o secvenţă de manevre prin care se poate obţine acest număr maxim.

Date de intrare

Prima linie a fişierul de intrare zeratul.in va conţine numărul natural N. A doua linie va conţine N numere naturale separate prin câte un spaţiu, reprezentând vectorul A. A treia linie va conţine numărul natural M. A patra linie va conţine M numere naturale separate prin câte un spaţiu, reprezentând vectorul B.

Date de ieşire

Pe prima linie a fişierului de ieşire zeratul.out se va scrie numărul maxim de unităţi ce se poate obţine. Pe următoarele linii se vor afla câte 100 de caractere (mai puţin ultima linie, eventual), reprezintând un şir de manevre prin care se obţine numărul maxim.

Restricţii

  • 2 ≤ N,M ≤ 5000
  • 1 ≤ A[i],B[j] ≤ 100, 1 ≤ i ≤ N, 1 ≤ j ≤ M
  • în 10% din teste N,M ≤ 350
  • în 50% din teste N,M ≤ 2500

Exemple

zeratul.in zeratul.out Explicatie
3
1 2 3
4
4 5 6 7

78
AABBB
Matricea ce reprezintă universul este următorul:
4 5 6 7
8 10 12 14
12 15 18 21

Drumul optim este:
(1,1)(2,1)(3,1)(3,2)(3,3)(3,4)
prof. Pătcaş Csaba
Universitatea "Babeş-Bolyai" Cluj
patcas.csaba@gmail.com
propunător: Prof. Emanuela Cerchez
emanuela.cerchez@gmail.com
Probleme recomandate
De la .campion 2008: celule, premii, cai, scp, forum, vedete, film, finala, ab, nice, supertri, mod3, degrade, fractii, balanta, inginer, camp, ozn, hora, trei, rebus, sl, detinut, fbr, noroc, simetric, egal, manevre, connect3, gropi, nrcuv, ruleta, carti, pod, bonuri, tgv, fib, uscat, 2sir, atac, matrice2, afise, an, dezbateri, test, miniasm, platforma, lac, vopsea, harta, nrbun2, barfa, nrbun, bunici, opmat, acop, tren, cub, picnic, cursa, rv, compus, comun, magic, votare, onu, tramvai, bipal, nspecial, retea, secvop
De acelaşi autor: miniasm, 3d, datorii, virus, tango, pack
Despre programare dinamică: vedete, fbr, tgv, 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, log, 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 Divide&Impera: reactii, cartoane, stive, hanoi, patrate4, pav, imagine, banda, invsort, bile5, m4, xp, game1, compresie, descompunere, romb1
surse trimise | ajutor