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

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


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

IAEA a reglementat modul de construcție al noilor centrale nucleare. În jurul reactorului punctiform P se plasează K pereți din plumb în formă de cercuri concentrice, de raze naturale r1, r2, ..., rK-1, rK unități de măsură și cu grosimi neglijabile. Fiecare perete conține 109 piloni ușori din aluminiu egal depărtați. Pereții sunt plasați concentric și astfel încât pilonul cu indicele i de pe orice perete, pilonul cu indicele i de pe orice alt perete și reactorul P sunt coliniare.
Pentru a lăsa aerul să circule, se face un număr par de semne în dreptul pilonilor, iar pereții în formă de arce rezultați sunt mutați împreună cu stâlpii din interior la altă centrală. Rezultă N pereți sub formă de arce de cerc, cu piloni în capete.
Fiecare centrală nucleară construită după acest model are nevoie de reguli de evacuare de urgență comune. În caz de urgență, fizicienii se deplasează într-un grup compact cu viteză constantă, după cum urmează:
* sunt obligați să meargă de la reactor spre nord, spre primul perete (acesta există întotdeauna, dar se poate ajunge doar pe extremitatea lui, ceea ce se consideră ajungere pe respectivul perete),
* se pot deplasa doar pe partea interioară a unui perete, de-a lungul lui, parcurgând intervalul dintre doi piloni alăturați în r unități de timp, unde r este raza cercului suport al peretelui,
* se pot deplasa în linie dreaptă între un capăt de perete P1 și un punct P2 de pe un perete mai îndepărtat, astfel încât P, P1 și P2 sunt coliniare, câte o unitate la T secunde.



Figură: Exemplu de centrală văzută de sus: un drum corect parcurs pentru ieșirea din centrală este ilustrat cu roșu, iar pereții centralei sunt negri. Toți pilonii situați pe o rază au același indice și sunt folosiți pentru a marca începutul și sfârșitul unui perete. Sunt reprezentați câțiva piloni cu indici reprezentativi: 0 la nord, 25·107-1 la est, 50·107-1 la sud, 75·107-1 la vest.

Cerinţă

Scrieți un program care calculează timpul minim în secunde de evacuare a echipei de fizicieni, pornind de la reactor și oprindu-se la o extremitate (a unui perete de pe un cerc suport oarecare dintre cele K) de unde nu se mai poate urma procedura de evacuare în linie dreaptă.

Date de intrare

Fișierul de intrare centrala.in conține pe prima linie numerele naturale K și T. Pe următoarele K linii se găsesc informații despre cei N pereți sub formă de arce de cerc. Pe linia k+1 se găsesc: un număr natural rk ce reprezintă raza cercului al k-lea, un număr natural nenul nk care reprezintă numărul de arce de cerc rămase după tăierea celui de-al k-lea cerc și nk perechi de numere naturale. A j-a pereche reprezintă două valori uk.j vk.j. Valoarea uk.j este pilonul de la care s-a păstrat perete pentru al j-lea perete. Valoarea vk.j este pilonul până la care s-a păstrat perete. Dacă vk.j este peste 109-1, se consideră pilonul vk.j-109.

Date de ieşire

Fișierul de ieșire centrala.out va conține pe prima linie timpul minim de evacuare din centrală.

Restricţii

Pilonii de început (uk.j) și sfârșit (vk.j, respectiv vk.j-109) sunt distincți doi câte doi,
Între doi pereți de pe același cerc suport există măcar un interval de piloni liber,
Perechile de pe un cerc suport definesc pereții în sens orar, plecând de la pilonul cu indicele minim.
Rezultatul există întotdeauna și se încadrează într-un număr cu semn pe 64 biți.
1Kn1+n2+...+nK-1+nK = N105
0 < T, r1, r2, ... rK-1, rK < 109 și ri < rj pentru i < j
0uk.j < vk.j

Exemple

centrala.incentrala.outExplicaţii
3 100000000 2 1 250000000 1062500000 3 1 875000000 1625000000 4 2 300000000 350000000 500000000 1125000000 2087500000 Timpul parcurs de la reactor la peretele final este compus din timpul de mers în linie dreaptă și timpul de mers de-a lungul pereților. Timpul de mers în linie dreaptă este direct proporțional cu T și cu raza cercului suport al peretelui final. Mai exact, fizicienii pierd 100000000·(2+1+1) = 400000000 unități de timp. Pe primul nivel, ei parcurg 62500000 intervale de piloni spre est. Timpul necesar acestei deplasări depinde de raza cercului suport și este egal cu 62500000·2 = 125000000 unități. Fizicienii continuă drumul pe al doilea nivel spre extremitatea vestică, având nevoie de 187500000·3 = 562500000 unități de timp. Ei apoi parcurg nivelul al treilea (și ultimul), în 250000000·4 = 1000000000 unități de timp. Exemplul este ilustrat și în figură.

autor: Stud. Vlad Manea
propunător: Stud. Vlad Manea
FII
vlad.c.manea@gmail.com
Probleme recomandate
De la FII Competition 2011: lipsa, reducere, viena, sir9, sablon2, fibgcd, acoperire, razboi, safeu, benzina2, bradut2, capra, agendatelefonica, cds, micro, wg
De acelaşi autor: binperm, strings, matrx
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, 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, 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 sortare: harta, index, sort, concurs, baby, patrate2, repeat, turist, bacan, toys, scor2, chimie2, politics, submat, scoici, ham, jokes, trecere, multiplu, paralel, tvshow, sirag1, tabara, munte, sport, puncte1, sume1, schi, granita, tren3, sant1, volei1, poze, maroco, dreptc, dist1, tir1, control, mosia, popas, reactivi, siruri1, coach, anag, matrice4, sume2, urgenta, basm, vot, balcon, joc14, cerc, k1, segm, calorii, ordonare, greutati, arctir, macheta, poligon4, robot4, lcdr, maxviz, sdmin, qtri, arme, flori1, parc1, mijloc, bile6, proiecte, patru, drept2, subsecvente, cursa1, eoliene, vintage, dreapta, riglef, rebus1, rascoala, zimeria, praslea, aperm, unudoi, gropi1, piscina, restaurare, cabana, culori3
Despre arbore de intervale: lcdr, 3max, ripstick, ksecv1
Software recomandat
De acelaşi autor: Algoritmul KMP
Chestionare recomandate
De acelaşi autor: Chestionar KMP
surse trimise | ajutor