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

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


Timp maxim de executie/test:
1.3 secunde
Memorie totala disponibila/stiva:
30 MB/1 MB

In Romania exista N orase interconectate prin M autostrazi. O autostrada leaga exact 2 orase (de exemplu, autostrazile Bucuresti-Pitesti sau Bucuresti-Constanta). Toate autostrazile sunt deschise circulatiei in ambele sensuri si se poate ajunge din orice oras in orice alt oras folosind autostrazile existente. In urma aderarii la Uniunea Europeana, guvernul va trebui sa ia masuri pentru a respecta regulile europene referitoare la infrastructura rutiera. Aceste reguli mentioneza ca cel putin unul din cele 2 orase intre care exista o autostrada trebuie sa aiba rangul de capitala europeana. Initial, nici unul dintre cele N orase nu are rangul de capitala europeana si pentru fiecare din ele se cunoaste suma necesara (in milioane de euro) pentru a fi modernizat si promovat la rangul respectiv.
Intrucat fondurile guvernului sunt limitate, determinati care este suma totala minima pe care va trebui sa o cheltuiasca guvernul cu promovarea unor orase la rangurile de capitale europene in asa fel incat sa fie respectate regulile europene referitoare la infrastructura rutiera.
Pentru a rezolva aceasta problema aveti la dispozitie o informatie suplimentara din partea guvernului, si anume: oricum am alege o submultime de 14 orase dintre cele N, exista in aceasta submultime cel putin o pereche de orase A si B cu proprietatea ca exista un oras C diferit de A si B (nu neaparat din submultimea aleasa) astfel incat, daca s-ar inchide circulatia in ambele sensuri pe toate autostrazile care au o extremitate in C, atunci nu va mai exista nici un drum intre orasele A si B folosind autostrazile ramase deschise circulatiei. Aceasta conditie poate fi reformulata astfel: Daca privim infrastructura rutiera a Romaniei ca un graf neorientat conex cu N noduri si M muchii, orice componenta biconexa a acestui graf contine cel mult 13 noduri.

Date de intrare

Fisierul de intrare ro.in contine pe prima linie numerele intregi N, M separate printr-un spatiu, reprezentand numarul de orase si numarul de autostrazi. Urmatoarea linie contine N numere intregi Si, separate prin cate un spatiu, reprezentand sumele necesare promovarii fiecarui oras i (de la 1 la N) la rangul de capitala europeana. Urmatoarele M linii contin cate 2 numere intregi distincte separate printr-un spatiu, U si V, avand semnificatia ca exista o autostrada intre orasul U si orasul V.

Date de iesire

Fisierul de iesire ro.out va contine pe prima linie suma minima pe care trebuie sa o plateasca guvernul pentru a respecta regulile europene referitoare la infrastructura rutiera. Pe a doua linie veti afisa numarul O, reprezentand numarul de orase promovate la rangul de capitala europeana. A treia linie a fisierului va contine O numere intregi distincte intre 1 si N, separate prin cate un spatiu, reprezentand orasele care au fost alese pentru a fi promovate la rangul de capitala europeana.

Restrictii si precizari

  • 1<=N<=2007
  • N-1<=M<=10000
  • 1<=Si<=1000000
  • Orasele sunt numerotate cu numere intregi de la 1 la N.
  • Intre 2 orase diferite va exista cel mult o autostrada.
  • Cel putin 20% din fisierele de test vor avea M=N-1.
  • Orasele alese pentru a fi promovate la rangul de capitala europeana pot fi afisate in orice ordine.

Exemplu

ro.in ro.out

15 21
9 8 7 100 99 2 3 8 4 6 7 2 1 6 2
1 2
2 4
4 5
5 6
2 6
1 5
4 3
3 7
7 9
9 8
8 4
4 7
3 9
5 10
10 13
5 12
12 13
12 15
12 14
15 14
13 11

129
9
1 4 6 7 9 10 12 13 15


as. Mugurel Ionut Andreica
Universitatea Politehnica Bucuresti, Facultatea de Automatica si Calculatoare
mugurel_ionut@yahoo.com

propunător: Prof. Emanuela Cerchez
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la .campion 2006: scara, programs, nr, iepuras2, numere3, robot2, fry, suma, sah, formule, perm, cifra, repeat, ture, xor, policefm, unu, criptare, ed, bilete, vector, scor, ratb, infinit, race, dragon, kreg, placi, hanoig, red, 2sec, flood, sume3, balls, festival, croco, johnie, matrice3, pavaj, sume, arthur, kimberley, kafka, vocale, pento, prop, sol, bacan, erdos, poligon, reduceri, druid, novel, gramezi, nrbinar, laser, spair, caravane, cuburi, grup, invest, cd, friends2, mese, toys
De acelaşi autor: autobuze, bile, complex, balaur, vmem, kreg, jobs, senzori, echipe, agitatie, center, algebra, tgraf, bcast, promo, asmax, sediu, granita, string, poligon1, csir, lsort, zoo, bombo, ab3, soc, rsp, tcast, tj, lanterna, base3, color, trans, ic, xp, v2d, ppcover, carray, asfalt1, module, gxor
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, 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 backtracking: acop, bipal, magic2, vagoane, friends, tricouri, festival, numar, pento, jobs, onu2, sir3, cai1, labirint, dans, ham, sudoku, caramele, linie, puncte, castel, excursia, joc7, pattern, avere, paianjen, medii, monkey, scara1, numere8, banda1, spirala1, cofetar, gradina, placa, smin, jucarii, immortal, concat, cubinvers, codif, izvor, avioane, jb, prisme, triburi1, genab, dineu, antitero, ornament, virgule
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, 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, team, 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 operaţii pe biţi: barfa, cod, gray, cartonase, plimbare, excursie, xor, vector, nrbinar, radio, chimie2, dans, metro, caini, newcomp, viteza, bcast, aritma, pereti, morse, paritate, gradina, xor2, game1, efect, gxor, lgdrum, qtri, patrate7, panda, cript
surse trimise | ajutor