ultima problemă
grupă: micăsursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
.campion
grup
Timp maxim de executie/test:
0.2
secunde
Memorie totala disponibila/stiva:
16
MB/1 MB
Ion este
managerul unei firme de succes. Datorita dinamismului activitatii din firma,
fiecare angajat trebuie sa aiba un telefon mobil, cu care el sa poata comunica
cu ceilalti angajati ai firmei. Ion plateste factura telefonica pentru toti
angajatii si încearca sa reduca din cheltuieli.
Recent a descoperit serviciul telefonic "grup" care ar putea reduce
substantial costurile în anumite conditii. Mai exact, Ion poate selecta
un grup de k angajati si activând
serviciul grup pentru cei k angajati
selectati, ei vor plati cu 50% mai putin pentru convorbirile pe care le au cu
membrii grupului, celelalte convorbiri fiind taxate la tarif normal. Daca un
angajat din grup suna un alt membru al grupului el va plati 10
bani/minut. Pentru orice alta convorbire tariful normal este de 20
bani/minut. Taxarea convorbirilor se realizeaza la minut.
Ion analizeaza acum lista convorbirilor angajatilor sai din ultima luna si încearca
sa stabileasca grupul astfel încât costul total al facturilor telefonice
sa fie cât mai mic.
Cerinta
Scrieti un program care
determina un grup de k angajati
astfel încât, utilizând serviciul grup, costul total al convorbirilor
telefonice sa fie minim.
Date de intrare
Fisierul de intrare grup.in
continepe prima linie numarul natural k
reprezentând numarul de angajati care trebuie sa formeze grupul. Pe cea
de a doua linie se afla numarul natural N
care reprezinta numarul total de convorbiri din lista de convorbiri ale angajatilor
firmei. Pe fiecare dintre urmatoarele N
linii se afla informatii despre convorbirile dintre angajatii firmei, câte
o convorbire pe o linie. Pentru o convorbire sunt specificate:
nume1 nume2 d
cu semnificatia "angajatul nume1
a sunat pe angajatul nume2 , convorbirea
durând d minute".
Date de iesire
Fisierul de iesire grup.out
va contine pe prima linie costul total minim al convorbirilor telefonice exprimat
în bani. Pe urmatoarele k
linii sunt scrise numele angajatilor care formeaza grupul, câte un nume
pe o linie.
Restrictii si precizari
1
<= k <= numarul de angajati
din firma <= 20
1 <= N <= 1000
1 <= d <= 100
Numele angajatilor au
maxim 20 caractere (litere
mari ale alfabetului englez).
Daca exista mai multe
solutii, afisati oricare dintre ele.
Ordinea în care
sunt scrise numele angajatilor din grup nu conteaza.
Pentru determinarea costului
minim se va acorda 40% din punctaj. Pentru un cost minim corect si afisarea
corecta si completa a grupului de k
persoane care asigura costul minim se acorda 100% din punctaj.
Exemple
grup.in
grup.out
Explicatie
3
9
ION MARIA 10
VASILE DAN 4
VASILE MARIA 5
ION ANA 5
ION MARIA 34
MARIA ION 3
ION VASILE 2
VASILE ION 4
ION ANA 3
820
ION
VASILE
MARIA
Costul fiecarei convorbiri:
ION MARIA (10+34)*10=440
(grup)
VASILE DAN 4*20=80
VASILE MARIA 5*10=50 (grup)
ION ANA (5+3)*20=160
MARIA ION 3*10=30 (grup)
ION VASILE 2*10=20 (grup)
VASILE ION 4*10=40 (grup)
Total:
440+80+50+160+30+20+40=820
prof. Emanuela
Cerchez
Liceul de Informatica
"Grigore Moisil " Iasi
Contact:emanuela.cerchez@gmail.com
Articole recomandate
De acelaşi autor : Hashing , Suffix arrays , Arbori de compresie Huffman , Gomory-Hu Cut Trees , Determinarea clicilor , Reprezentarea mulţimilor disjuncte , Heap-uri Despre combinatorică : Numere Catalan, numere Narayana , Partitionarea unui numar , Permutări , Introducere in combinatorica , Puncte laticeale
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 , ro , sol , bacan , erdos , poligon , reduceri , druid , novel , gramezi , nrbinar , laser , spair , caravane , cuburi , invest , cd , friends2 , mese , toys 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 , 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 , peste , 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 matrice : vopsea , harta , opmat , sarpe , light , magic2 , tetris , origami , concurs , iepuras , tribile , criptmat , cutie , patrate , 3d , pajura , perspic , vecini2 , livada , matrice3 , kafka , erdos , scor2 , reteta2 , rezervatie , scoici , tablou , game , stea , submatrix , cifru , jokes , oua , trecere , na , dotnet , renju , ghici , mere1 , agitatie , lacuri , sotron , desen1 , camion , ceas1 , fibo , parc , excursia , matricea , zidar , joc6 , log , concurs2 , cladiri , dist , centru , robinson , cuburi2 , joc8 , joc9 , romeo , adevar , soricel2 , avere , joc11 , vizibil , sah1 , blockout , masina3 , lsort , anticip , matrice1 , evantai , spion , pereti , zumzi , roboti , placare , tabel , ocr , numere7 , lacusta , becuri , sir5 , flori , cartele , furnica , pavare , poarta , rj , peri , poligon2 , sablon1 , gradina , matrice4 , poartas , balcon , submdisj , v , matrx , figura , neuroni , raze , roboti1 , bila , iepurasi , colorare , mat , submatrix1 , simetric1 , plaja , xor2 , guess , albine1 , joct , alfabetar , stele , tablou1 , alpinist , cladire , cri , grupe2 , el , mahjong , sir9 , acces , tort1 , joc17 , mesaj3 , zar1 , xy , poteci , avioane , broscute , safeu , acoperire1 , radioactiv , robot4 , lcdr , jb , slide , maxtri , dame , triunghi4 , elicop , compresie , mijloc , cubulete , romb , medalion , bile6 , zigzag , puncte5 , intersectii , matd3 , matrixdel , speed , seif1 , traseu2 , incadrare , betasah , zona , latin , zmax , amestec , sudoku1 , gradina1 , spider , zone , bemo , rombul , interclasare , rebus1 , tabla , arrows , pseudobil , patrat1 , rascoala , harta2 , relatii , lasere , defrag , matcnt , ssdj , cript , ssk , teren1 , fence , cifre6 Despre vector : trei , simetric , egal , ruleta , pod , uscat , afise , an , bunici , cursa , onu , tramvai , cadou , kpal , expresie , piticot , roci , petrol , grad , ruleta2 , ecran , palma , concurs , holo , ab2 , tren2 , cifre , mgo , firma , anagrame , joc2 , br , maxim , astre , numere2 , baby , zapada , hd , startrek , vecini2 , drept , teatru , tir , patrate2 , nr , cifra , repeat , unu , criptare , ratb , placi , sume3 , turist , matrice3 , pavaj , sume , kafka , bacan , spair , friends2 , bitslang , fisc , scor2 , cat , nr3 , chimie2 , zid , politics , submat , reteta2 , rezervatie , creioane , felinare , 2numere , exp , scoici , patrate1 , playlist , sqr , carte , oua , turn , ants , div3 , jeton , politic , trecere , maraton , zaruri , suma1 , mere1 , agitatie , lacuri , secv , sotron , triunghi , carti1 , spioni , kalah , excursia , matricea , maxq , oras , furnici , baschet , ingerasi , numar1 , prieteni , aritma , cezar , bifo , pal , seceta , bare , soricel1 , antena , avere , paianjen , bloc , schi , suma3 , fractie , tunel , pepsi , prefix , tren3 , avion , premii1 , csir , top , bsir , secvente , cod4 , cuburi3 , limbaj , panouri , sant1 , zumzi , sport1 , baschet1 , mere3 , powerpuff , placare , sir4 , volei1 , tabel , ocr , numere7 , lacusta , flori , pluton , elfi , mare , grupe1 , maroco , cartonas , cabina , case , cod5 , furnica , numere8 , paritate , comoara1 , exponent , control , exp1 , joc13 , popas , reactivi , siruri1 , vanatoare , submult , text1 , taxe1 , visul , paranteze , puncte3 , cub3 , numere9 , panglica , pietre , poartas , sume2 , bal , secvsir , vot , prefix1 , accesibil , palc , standard , bursa , meteo , jetoane , printesa , palindrom , joker , matriosca , loto , cuvant , cladiri1 , secvente1 , zar , tren4 , asociativ , lego , medalii , figura , joc14 , neuroni , char , dartz , turism1 , calorii , xor1 , paltrei , album , livada1 , colorare , greutati , brazi , submatrix1 , plaja , cd1 , cifru3 , permutare , miere , tetris1 , conferinta , atelier , radical , bileprime , nx , atletism , sumb , minmax , sumacifre , jocprim , sircifre , cmmdcsecv , secvb , siruri3 , cifru4 , vase , carte1 , grad1 , litere , magic6 , macheta , butoane , ec , stalpi2 , fagure , goe , papusa , taburet , mesaj3 , zar1 , joc16 , talent , joc18 , cos , punctfix , risipa , liste , triburi , nr0 , oneton , nor , nrpomi , paisprezece , anagramabil , zuma , joc20 , dale , perechi2 , consiliu , becuri2 , codpatrat , adprod , qtri , reconst , arme , triunghi4 , deal , ozn1 , cifru5 , flori1 , elicop , roata , trifoi , maxbin , culori2 , numar5 , bile6 , proiecte , alune , cuburi4 , sstabil , intersectii , copaci2 , 7segmente , amedie , drept2 , divider , eliminare , matd3 , prodnr , fraze , vectori1 , compar , unific , galbeni , clepsidru , calcule , puncte6 , maxp , cursa1 , secvp , swap , extraprime , onigim , divizori1 , remi1 , tetris3 , amestec , eoliene , split , momente , secvente2 , ausoara , aranjare2 , vintage , binremove , sminus , subsets , interclasare , palindromuri , colina , doitrei , rebus1 , tcif , munte3 , triunghi6 , schi1 , rascoala , solitar , praslea , vot2 , tema , sprime , sir2dif , aperm , unudoi , prajituri , tan , concurs4 , ech , arc , dominant , ordine , tv1 , nebuni , sort2dist , lightbot , iepuras1 , castig Despre combinatorică : manevre , carti , bonuri , test , cub , nspecial , circuit , numere , cs , pluricex , parent , gray , siruri , anagrame , party , net , scaune , sir , monede , aztec , nrcuv2 , perm , race , hanoig , red , hperm , depou , grazing , pm , reteta2 , playlist , young , pizza1 , albine , caramele , teatru1 , tub , robot1 , sir23 , soldati1 , concurs1 , comb , expresii , arbnr , cod1 , munte , shgraf , desc , lex , munte1 , maxperm , role , avere , vizibil , prime1 , hexa , patrat , carti2 , puncte2 , pact , aranjari , numere5 , borg , acolor , sg1 , perfect , cifru2 , bile4 , pviz , culmi1 , piramida1 , trapez , frunze , sir7 , logic , coduri , jetoane , kperms , tablite , secvpar , lego , permutari , binperm , multiplu1 , operatii , fotbal , kbiti , jucarii , bradut , expozitie , parbit , kmax , petrecere , tango , rege , cd1 , cifru3 , kcons , bubblesort , hawaii , randomizare , kdist , reuniune , echipa , ghinion , cavaleri , camera616 , covor , subm , grupuri , pavari , asfalt , adunscad , rotund , sport2 , arbore1 , lant1 , module , nrperm , oneton , nrpomi , cover1 , nrpal , probleme , optim , poly , vot1 , sudoku1 , flori2 , xnumere , showroom , cntgcd , subsets , nkd , nrgraf , spion1 , puteri , stiva1 , permtr , relatii , 2sah , matcnt , magic7 , nmult , roua Despre generare : taste , pluricex , balbe , magic3 , formule , zmeu , nr01 , reteta2 , playlist , pizza1 , caramele , caini , tvshow , adevar , prime1 , hexa , premii1 , carti2 , bile4 , hof , matrx , cubinvers , arctir , guess , minmax , stele , tablou1 , adunscad , sumprod , prisme , operatii1 , expeval , triburi1 , optim , patru , genab , dineu , cumpanit , nkd , relatii , wb
Software recomandat