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

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


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

Sâmbăta o petrec cu prietenii la discoteca ”Why not“ din centrul oraşului. De acolo plecăm în zori p persoane, în gaşcă, şi trebuie să ajungem fiecare acasă. Atât la discotecă, la punctele de destinaţie ale membrilor găştii, precum şi în alte puncte ale oraşului se află staţii de Team-Taxi pe care le putem folosi în drumul spre casă, plătind frăţeşte pe fiecare segment de drum o sumă fixă pe care o pretinde şoferul maşinii (în funcţie de lungimea drumului şi nu în funcţie de numărul de pasageri).
În orice staţie pot părăsi gaşca numai cei care au ajuns la destinaţie, în acest caz grupurile omogene formate urmând să se despartă (pentru că au dispărut oamenii de legătură) şi să ia în continuare taxiuri cu diferite destinaţii. Două grupuri omogene diferite pot merge în aceeaşi destinaţie, dar utilizând taxiuri diferite. Numim grup omogen o formaţie de persoane cu numere de ordine consecutive. De exemplu, pentru p=6, de la discotecă porneşte gaşca în formaţia 1 2 3 4 5 6. Dacă la o staţie se opreşte persoana numărul 3, atunci se formează două grupuri omogene, 1 2 şi 4 5 6. Ei se despart luând două taxiuri diferite. Două grupe formate din 1 4 5 şi 2 6 nu sunt omogene.
Atâta timp cât k persoane merg cu un taxi pe un segment pe care orice şofer cere invariabil suma c , contribuţia fiecăruia pe acel segment este c/k. Dacă o persoană merge singură cu un taxi pe segmentul respectiv, ea va trebui să plătească singură întreaga sumă.

Cerinţă

Ştiind numărul de persoane, reţeaua de staţii de taxiuri, costurile de transport pe fiecare segment al reţelei şi punctele de destinaţie ale fiecărui membru al găştii, se cere să se determine costul minim pe care îl pot plăti în total membrii găştii astfel încât, utilizând taxiurile în maniera descrisă, fiecare să ajungă acasă.

Date de intrare

Din fişierul team.in se citesc:
- p numărul de persoane din gaşcă ce pleacă de la discotecă, de pe linia 1;
- n numărul de staţii de taxi din oraş, de pe linia 2; staţiile sunt numerotate de la 1 la n;
- m numărul de segmente ce leagă direct câte două staţii, de pe linia 3;
- m triplete de forma i j c (i şi j sunt staţiile între care se consideră segmentul, iar c costul de transport pe segmentul respectiv), de pe următoarele m linii;
- d1, d2, …, dp staţiile de destinaţie ale membrilor găştii (nu neapărat distincte), de pe ultima linie.

Date de ieşire

Fişierul team.out va conţine o singură linie cu un număr reprezentând costul minim determinat.

Restricţii

1 <= p <= 50
2 <= n <= 500
1 <= i, j <= n
0 <= c <= 1000
1 <= d1, d2, …, dp <= n

Se consideră staţia 1 ca punct de plecare (discoteca).
Pe toate străzile se poate circula în ambele sensuri.
Pentru datele de test există întotdeauna soluţie.
Toate datele de intrare sunt numere naturale.

Exemple

team.inteam.outExplicaţii
4 5 8 1 2 6 1 3 4 3 4 8 2 4 1 3 5 7 2 3 1 1 5 6 2 5 0 5 2 4 4 6



autor: Prof. Rodica Pintea
propunător: Prof. Emanuela Cerchez
Liceul de Informatica ″Grigore Moisil″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la Lot PH 2006: arbfind, becuri, drept1, gard, pitici1, rsp, sir5
De acelaşi autor: fisc, cartonase2, cartoane, joc8, tramvai1, suma2, sg1, volei1, elfi, cezar1, piramida1, mosia, vanatoare, spirala1, poligon3, panglica, cerc, tablou1, radioactiv, solitar
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, 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 graf: gropi, tgv, matrice2, miniasm, picnic, mere, circuit, soldati, arce, conflicte, desen, robot, furtuna, net, cuvinte, excursie, cadere, pioni, reinvent, kreg, flood, croco, johnie, matrice, arthur, kimberley, ro, sol, caravane, bete, honest, police, pcod, zmeu, auto2, grazing, datorii, trafic, sponsori, monede1, apm, bile1, caini, masina1, bomboane, turn1, shgraf, paintball, program1, tgraf, kgb, algola, felinar, joc6, tric, homeless, promo, turism, casute, joc10, prieteni1, traseu, zapezi, litoral, lover, trip, garaj, ziduri, tv, pact, echipe1, vitale, spion, trasee, bcolor, scara2, lant, ab3, soc, gard, rsp, graf, mexc, dep, albinuta1, atac2, cabane, drumuri, tj, grade, jungla, lanterna, magic5, coment, urgenta, fazan, lanturi, cfr, site, traseu1, trmv, graphgame, minuni, telefon, ubergraf, carray, pestera, chei, arbgraf, war, fluviu, drumuri1, entries, ubuntzei, pack, fotbal1, pamant, dag, razboi, benzina2, wg, neconex, asfalt1, kubus2, module, progresii, dfs, prieteni3, megascoala, grafxy, dineu, vot1, biperm, drumuri2, nrgraf, cristal, cartite, copaci3, dragoni, nuclee
Despre drum minim: miniasm, robot, furtuna, excursie, arthur, bete, zmeu, trafic, masina1, bomboane, traseu, litoral, lover, trip, scara2, gard, pitici1, base3, coach, lanturi, trmv, pestera, fluviu, ubuntzei, razboi, benzina2, kubus2, megascoala, dragoni
surse trimise | ajutor