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

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


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

O colonie de furnici a construit un tunel lung, în linie dreaptă. Fiecare familie de furnici din colonie şi-a stabilit de-a lungul tunelului o aşezare, în care locuiesc toate furnicile din familie şi unde îşi păstrează şi proviziile pentru iarnă.
Furnicuţele sunt foarte harnice şi au adunat cantităţi de provizii impresionante, care depăşesc nevoile lor. Prin urmare, regina furnică a decis – pentru a spulbera prejudecăţile şi pentru a înveseli colonia – ca fiecare familie de furnici să invite în ziua de Crăciun câţiva greieri (acelaşi număr de greieri pentru fiecare familie).
Se cunoaşte numărul de boabe de grâu adunate în plus (care pot fi oferite greierilor) de fiecare familie de furnici şi faptul că fiecare greiere va fi servit cu exact o boabă de grâu.
Boabele de grâu adunate de o familie pot fi consumate în familia respectivă, sau pot fi donate altor familii, caz în care grâul trebuie transportat. Dar furnicile care asigură transportul, consumă o boabă de grâu pentru fiecare metru de drum prin tunel (indiferent de cantitatea transportată).

Cerinţă

Scrieţi un program care să determine numărul maxim de greieri care pot fi găzduiţi în fiecare familie de furnici (acelaşi pentru toate familiile).

Date de intrare

Fişierul de intrare ants.in conţine pe prima linie un număr natural N care reprezintă numărul de familii. Următoarele N linii conţin informaţii despre familiile de furnici. Mai exact, pe linia i+1 se află două numere naturale separate prin spaţiu Ai Bi, unde Ai reprezintă poziţia în care locuieşte familia de furnici i (exprimată în număr de metri faţă de intrarea în tunel), iar Bi reprezintă numărul de boabe de grâu adunate în plus de familia i. Familiile sunt specificate în ordinea în care se află plasate în tunel.

Date de ieşire

Fişierul de ieşire ants.out va conţine o singură linie pe care va fi scris numărul maxim de greieri ce pot fi găzduiţi de fiecare familie de furnici.

Restricţii

1 ≤ N ≤ 100 000
1 ≤ Ai ≤ 1 000 000 000, 0 ≤ Bi ≤ 1 000 000 000
, pentru orice i=1, 2, …, N
Nu există două familii situate în aceeaşi poziţie.

Exemple

ants.inants.outExplicaţii
4 20 300 40 400 340 700 360 600 415 Există 4 familii de furnici, situate la 20 m de intrarea în tunel, 40 m, 340 m şi respectiv 360 m.
Fiecare familie va găzdui 415 greieri.
Familia 1 are 300 de boabe de grâu surplus şi mai poate primi 115 boabe de la familia 2. Aceste boabe trebuie să fie transportate pe o distanţă de 20 m, deci familia 2 va rămâne cu 400-115-20=265 boabe de grâu.
Familia 2 are acum 265 de boabe de grâu şi mai poate primi 150 boabe de grâu de la familia 3 (acestea vor fi transportate pe distanţa de 300 m). Deci familia 3 are acum 700-300-150=250 boabe de grâu. Prin urmare familia 3 va primi de la familia 4, 165 boabe de grâu care vor fi transportate pe o distanţă de 20m. Deci familia 4 rămâne cu 600-20-165=415 boabe.
Fiecare familie poate găzdui 415 greieri şi acesta este cel mai mare număr de greieri posibil.

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 2006: arcas, caramele, chimie1, evaluare, joc4, linie, masina, teatru1
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, 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 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, grup, friends2, bitslang, fisc, scor2, cat, nr3, chimie2, zid, politics, submat, reteta2, rezervatie, creioane, felinare, 2numere, exp, scoici, patrate1, playlist, sqr, carte, oua, turn, 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 căutare binară: gropi, pod, uscat, checkin, copaci, aven, br, furtuna, livada, numar, matrice, sume, bacan, toys, chimie2, trafic, multiplu, ghici, sirag1, tabara, puncte1, centru, harta1, salvare, spion, poze, dist1, patrate5, resturi, lanterna, sea2, vot, standard, cantor, medalii, binperm, mobil, stalpi1, expo, miere, conferinta, subs, pack, obstacole, dag, acoperire, verigi, bradut2, triburi, intervale, mijloc, patru, eliminare, vectori1, calcule, secvp, dreapta, colina, ssk, robotics, cabana
Software recomandat
surse trimise | ajutor