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

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


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

Suleiman I s-a confruntat în anul 1548 cu mari probleme interne. În acel an, el a primit vestea că într-una dintre regiunile Imperiului se pregăteşte o răscoală. Harta Imperiului este realizată sub forma unui tablou bidimensional cu n linii şi m coloane, iar fiecare element al tabloului corespunde unei regiuni a Imperiului. În fiecare regiune erau deja cantonaţi soldaţi, dar pentru a preîntâmpina răscoala sultanul decide ca toţi cei k soldaţi din Garda Imperială să fie trimişi în regiuni, întărindu-le pe cele păzite de mai puţini soldaţi. Distribuirea lor respectă următoarele reguli:
• Dacă există o singură regiune cu număr de soldaţi mai mic decât al tuturor celorlalte regiuni, trimite un soldat în această regiune.
• Dacă există mai multe regiuni cu acelaşi număr minim de soldaţi, trimite un soldat în regiunea care iniţial avea un număr mai mic de soldaţi. Dacă mai multe regiuni aveau acelaşi număr iniţial de soldaţi, se trimite un soldat în regiunea cu indicele liniei mai mic, iar dacă regiunile sunt pe aceeaşi linie, în regiunea cu indicele coloanei mai mic.
Suleiman continuă distribuirea soldaţilor din garda imperială în regiuni conform celor precizate anterior, până la epuizarea soldaţilor din Garda Imperială.

Cerinţă

Cunoscându-se n, m şi k reprezentând numărul de linii, numărul de coloane, respectiv numărul de soldaţi din Garda Imperială, precum şi numărul de soldaţi existent deja în regiunile Imperiului, să se determine:
a) numărul de regiuni din Imperiu în care vor fi trimişi soldaţii din Garda Imperială, respectiv numărul minim de soldaţi care se vor găsi într-o regiune, după trimiterea soldaţilor din Garda Imperială;
b) distanţa maximă între două regiuni în care au fost trimişi soldaţi ai Gărzii Imperiale. Distanţa între o regiune A şi o regiune B se calculează folosind formula |LA- LB| + |CA- CB|, unde (LA,CA) reprezintă coordonatele regiunii A, precizate prin numărul liniei şi coloanei, respectiv (LB,CB) reprezintă coordonatele regiunii B, precizate prin numărul liniei şi coloanei.

Date de intrare

Fişierul de intrare rascoala.in conţine pe prima linie un număr natural p din{1,2} Pe a doua linie a fişierului se găsesc trei valori naturale n m k, despărţite prin câte un spaţiu, cu semnificaţia din enunţ. Pe fiecare dintre următoarele n linii se află câte m numere naturale, separate prin câte un spaţiu, reprezentând numărul de soldaţi aflaţi iniţial în fiecare regiune.

Date de ieşire

Dacă valoarea lui p este 1, atunci se va rezolva numai punctul a) din cerinţă. În acest caz, fişierul de ieşire rascoala.out va conţine două valori naturale, fiecare pe câte un rând, reprezentând în ordine, numărul de regiuni în care a trimis Suleiman soldaţii din Garda Imperială, respectiv, numărul minim de soldaţi care se află într-o regiune după trimiterea soldaţilor din Garda Imperială,
Dacă valoarea lui p este 2, atunci se va rezolva numai punctul b) din cerinţă. În acest caz, fişierul de ieşire rascoala.out va conţine un singur număr natural, reprezentând distanţa maximă între două regiuni în care au fost trimişi soldaţi ai Gărzii Imperiale.

Restricţii

• 1 ≤ n, m ≤ 500
• 1 ≤ k ≤ 1 000 000 000
• Numărul iniţial de soldaţi din orice regiune este un număr natural nenul ce nu depăşeşte 1 000 000
• 40% din teste vor avea pe prima linie valoarea 1, iar restul de 60% din teste vor avea pe prima linie valoarea 2.

Exemple

rascoala.inrascoala.outExplicaţii
1 3 4 6 5 3 4 6 5 5 8 5 9 6 8 7 3 5 Se trimite un soldat în regiunea (1,2), obţinând două regiuni cu câte 4 soldaţi. Se trimite un soldat în regiunea (1,2), (număr iniţial de soldaţi minim), apoi un soldat în regiunea (1,3). Cei trei soldaţi rămaşi vor fi trimişi astfel: primul în regiunea (1,2), al doilea în regiunea (1,3), iar al treilea în regiunea (1,1).
2 3 4 6 5 3 4 6 5 5 8 5 9 6 8 7 2 Distanţa maximă va fi 2 între regiunile (1,1) şi (1,3).

autor: Prof. Lukacs Sandor
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Probleme recomandate
De la ONI 2014: joc21, spion1, puteri, stiva1, cifre5, tdrept, solitar, agenda, zimeria, opmult, monede2, betisoare, praslea, harta2, qvect, traseu3, reflex, tg
Despre matrice: vopsea, harta, opmat, sarpe, light, magic2, tetris, origami, concurs, iepuras, tribile, criptmat, cutie, patrate, 3d, pajura, perspic, vecini2, livada, matrice3, kafka, erdos, grup, 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, 2ndesc, 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, 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, grup, 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, solitar, praslea, vot2, tema, sprime, sir2dif, aperm, unudoi, prajituri, tan, concurs4, ech, arc, dominant, ordine, tv1, nebuni, sort2dist, lightbot, iepuras1, castig
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, centrala, robot4, lcdr, maxviz, sdmin, qtri, arme, flori1, parc1, mijloc, bile6, proiecte, patru, drept2, subsecvente, cursa1, eoliene, vintage, dreapta, riglef, rebus1, zimeria, praslea, aperm, unudoi, gropi1, piscina, restaurare, cabana, culori3
Despre tablou: cuburi1, zuzu, robinson, cuburi2, joc8, joc9, suma2, vizibil, masina3, cub2, lacusta, furnica, numere8, copaci1, ogorul, pesti, stelar, macheta, mxl, segmente, joc19, triunghi4, parc1, interclasare, cifre5, monede2, betisoare, qvect, traseu3
surse trimise | ajutor