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

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


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

Ion a plecat la pescuit. În zona în care el pescuieşte există n lacuri. Toate lacurile sunt plasate pe marginea aceleiaşi şosele şi sunt numerotate de la 1 la n în ordinea în care sunt amplasate pe şosea. El are la dispoziţie pentru pescuit h ore şi se află iniţial la lacul cu numărul 1. Ion poate vizita lacurile exact în ordinea în care sunt amplasate pe şosea, dar nu se opreşte să pescuiască decât dacă doreşte şi poate să termine pescuitul la oricare lac doreşte.
Ion face sportul acesta frecvent şi cunoaşte ti (i=1, 2, ..., n-1) numărul de intervale de câte 5 minute care îi sunt necesare pentru a ajunge de la lacul i la lacul i+1.
De asemenea, Ion cunoaşte bine lacurile din zonă şi a determinat pentru fiecare lac i numărul de peşti fi pe care el se aşteaptă să îi prindă în primele 5 minute din lacul i. La fiecare 5 minute, numărul de peşti pe care el se aşteaptă să îi prindă în interval de 5 minute din lacul i va scădea cu o rată constantă di. Dacă numărul de peşti pe care el se aşteaptă să îi prindă în următorul interval este <=di, deduce că nu mai există peşti în lacul i pe care ar putea să îi prindă în următorul interval.
Pentru a simplifica problema, Ion presupune că nu mai pescuieşte nimeni în zonă în acelasi timp cu el, deci că previziunile sale sunt exacte.

Cerinţă

Scrieţi un program care să determine numărul maxim de peşti pe care Ion îi poate pescui, precum şi modul în care Ion îşi planifică pescuitul pentru a obţine un număr maxim de peşti.

Date de intrare

Fişierul de intrare peste.in conţine mai multe seturi de date de test.
Fiecare set de date de test conţine pe prima linie un număr natural n care reprezintă numărul de lacuri. Pe cea de a doua linie se află un număr natural h care reprezintă numărul de ore pe care Ion le are la dispoziţie. Pe cea de a treia linie sunt n numere naturale separate prin câte un spaţiu f1 f2 ... fn care reprezintă numărul de peşti pe care Ion se aşteaptă să îi prindă în primele 5 minute din fiecare lac. Pe cea de a patra linie se află n numere naturale separate prin câte un spaţiu d1 d2 ... dn care reprezintă rata cu care scade după fiecare interval de 5 minute numărul de pesti ce poate fi pescuit în următorul interval de 5 minute din fiecare lac. Pe ultima linie se află n-1 numere naturale separate prin câte un spaţiu t1 t2...tn-1 care reprezintă numărul de intervale de 5 minute necesare pentru a ajunge de la un lac la următorul. Fişierul de intrare se încheie cu o linie care conţine valoarea 0.

Date de ieşire

Fişierul de ieşire peste.out va conţine câte două linii pentru fiecare set de date de intrare. Pe prima dintre aceste două linii, va fi afişat numărul maxim de peşti ce poate să îi pescuiască Ion. Pe cea de a doua linie vor fi afişate n numere naturale separate prin câte un spaţiu. Al i-lea număr de pe linie reprezintă numărul de minute pe care la petrece Ion pescuind din lacul i. Numărul de minute pe care Ion îl petrece la fiecare lac trebuie să fie multiplu de 5.
Dacă există mai multe soluţii (posibilităţi de a planifica pescuitul astfel încât să se obţină un număr maxim de peşti) se va alege soluţia în care timpul petrecut la lacul 1 este maxim. Dacă în continuare există mai multe soluţii, va fi aleasă cea în care timpul petrecut la lacul 2 este maxim, etc.

Restricţii

1<=h<=16
2<=n<=25
0<ti<=192
0<=fi
0<=di

Exemple

peste.inpeste.out
2 1 10 1 2 5 2 4 4 10 15 20 17 0 3 4 3 1 2 3 4 4 10 15 50 30 0 3 4 3 1 2 3 0 31 45 5 480 240 0 0 0 724 115 10 50 35

autor: Prof. Emanuela Cerchez
propunător: Prof. Emanuela Cerchez
Liceul de Informatica ″Grigore Moisil″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la Finala .campion 2005: barca1, ivv, camion, kalah, algola
De acelaşi autor: celule, scp, vedete, film, ab, supertri, inginer, camp, sl, detinut, simetric, egal, gropi, ruleta, carti, tgv, uscat, afise, dezbateri, bunici, rv, onu, nspecial, secvop, cadou, chimie, reteta, piticot, petrol, checkin, teanc, index, teren, pizza, ecran, drum, text, lbd, aven, spam, pluricex, tren2, gray, pasi, mgo, joc, anagrame, vecini, criptmat, maxim, cutie, party, friends, net, sablon, hd, pc, sir2, aztec, scara, nr, robot2, sah, formule, ed, bilete, hanoig, flood, matrice3, erdos, grup, cd, kfactor, np, cuc, radio, honest, ref, nr01, scor2, convert, auto2, compress, politics, pm, playlist, barbie, firma1, submatrix, ham, pizza1, exam, ants, teatru1, cifre1, bile1, caini, secvreg, pasune, remi, m01, sir23, tren1, joc5, pachete, aedaro, windows, renju, latime, mere1, piloti, pitici, sirag1, stive, turn1, carti1, program1, spioni, kgb, lift, apel, lex, oras, homeless, subsir, dist, harta1, adevar, joc10, bare, zapezi, masina2, perechi1, raft, joc11, joc12, ferma, fni, tunel, lover, pepsi, transport, avion, monkey, premii1, garaj, carti2, tv, pact, fat, cafea, echipe1, secvente, petrom, peg, scara1, lant, ecuatii, stiva, bile4, jungla, rj, poli, text1, compus1, rez, politie, anag, codul, coment, muzeu, seti, basm, timer, secvsir, dp, placa, prod3, bursa, submdisj, sotron1, fazan, secvpar, joker, lego, medalii, cfr, antipatie, figura, links, segm, colorare, brazi, mobil, distsir, guess, greiere, pestera, conferinta, chei, ny, nx, ghinion, sumb, drenaj, telecomanda, grupuri, mahjong, rotund, viena, sport2, cos, monoton, micro, valet, nr0, maxviz, anagramabil, nrpal, lista, dame, consiliu, adprod, arme, deal, prodnr, compar, latin, interviu, vintage, prize, nrdiv, arrows, tdrept, agenda, reziston, vot2, tema, smiley, relatii, ech, scadere, nebuni, castig, expand, wb, prime2, virgule, b210
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, 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
Software recomandat
surse trimise | ajutor