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

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


Timp maxim de execuţie / test:
0.2s
Memorie totala disponibilă / stivă:
10MB / 5MB

O invazie de N farfurii zburătoare (denumite uzual OZN) dă bătăi de cap autorităţilor. În fiecare astfel de OZN se află extratereştri care au ca misiune distrugerea planetei noastre. Radarul care a detectat invazia are un ecran similar cu planul XOY. Fiecare OZN este reprezentat pe ecran printr-un segment de dreaptă.
Pentru anihilarea OZN-urilor, autorităţile dispun de K arme laser. Armele sunt poziţionate pe sol (ilustrat pe ecranul radarului prin axa OX). Fiecare armă emite o rază laser, ilustrată pe ecran printr-o paralelă cu axa OY. Dacă o rază laser intersectează segmentul de pe ecranul radarului corespunzător unui OZN, raza va omorî toţi extratereştrii aflaţi în OZN-ul respectiv.
Din păcate, în preajmă se află doar un militar specializat în arme laser, aşa că autorităţile doresc să ştie exact ce armă trebuie să folosească acesta pentru a distruge cât mai mulţi extratereştri.

Cerinţă

Ajutaţi autorităţile să determine numărul de extratereştri care pot fi anihilaţi cu fiecare armă din dotare.

Date de intrare

Fişierul de intrare ozn1.in conţine pe prima linie două numere naturale separate prin spaţiu N K reprezentând numărul de OZN-uri şi respectiv numărul de arme laser. Pe următoarele N linii sunt descrise cele N OZN-uri, câte unul pe linie. Un OZN este descris prin 5 numere naturale separate prin câte un spaţiu x1 y1 x2 y2 nr, reprezentând în ordine coordonatele capetelor segmentului corespunzător (x1, y1), (x2, y2), iar nr – numărul de extratereştri din el. Pe ultima linie se găsesc K numere naturale a1 a2 a3 ... aK, separate prin câte un spaţiu, reprezentând coordonatele pe axa OX (abscisele) unde sunt amplasate armele laser.

Date de ieşire

Fişierul de ieşire ozn1.out va conţine pe K linii. Pe linia i va fi scris numărul total de extratereştri care pot fi distruşi cu arma i, considerând armele numerotate în ordinea în care acestea apar în fişierul de intrare.

Restricţii

• 1 ≤ N ≤ 20 000
• 1 ≤ K ≤ 20 000
• 1 ≤ orice coordonată din fişierul de intrare ≤ 2 000 000
• 1 ≤ nr ≤ 100, pentru orice OZN
• x1 < x2, pentru orice OZN
• Pe ecranul radarului segmentele ce descriu navele se pot intersecta.
• Dacă raza laser trece prin unul dintre capetele unui OZN atunci acesta este distrus.
• Pentru 50% dintre testele de intrare 1 ≤ N*K ≤ 10 000 000

Exemple

ozn1.inozn1.outExplicaţii
5 3 1 1 3 2 2 2 3 4 1 3 6 5 8 5 8 5 1 7 1 6 6 2 7 4 1 3 7 5 5 15 6


Arma care emite din punctul (3,0) doboară farfuriile reprezentate de segmentele {(1,1)(3,2)} şi {(2,3)(4,1)} distrugând în total 5 extratereştri.
Arma care emite din punctul (7,0) doboară farfuriile reprezentate de segmentele {(5,1)(7,1)}, {(6,2)(7,4)} şi {(6,5)(8,5)} distrugând în total 15 extratereştri.
Arma care emite din punctul (5,0) doboară farfuria reprezentată de segmentul {(5,1)(7,1)} şi distruge 6 extratereştri.

autor: Prof. Dana Lica
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la OJI 2012: alice, porumb1, arme, triunghi4, deal, cifru5, flori1, elicop, roata, culori1, blis, compresie, parc1
De acelaşi autor: compus, taste, arce, balbe, drept, scor, sume3, spair, bitslang, police, tree, reteta2, farfurii, caramele, apm, maraton, masina1, bomboane, soldati1, concurs1, puncte, pipe, camion, imax, litoral, dreptc, bal, prefix1, tablite, lanturi, loto, bila, popic, activ, game1, pitag, secv9, divk, taler, bdotcom, oak, optim, puncte5, swap, tetris3, monede2, ssk
Despre geometrie: forum, supertri, ozn, detinut, atac, afise, mere, ff, teren, volei, aven, patrate, robot, pahare, pendul, robot2, dragon, poligon, druid, laser, patrate3, ploaia, donald, lot, atac1, arcas, paralel, dotnet, aedaro, vectori, spirala, distanta, triunghi, center, harta1, seceta, antena, poligon1, benzina, zoo, texan, oypara, dreptc, mosia, sea, poligon3, poligon2, snipers, basm, cetati, placa, nori, cerc, smin, cern, cuiburi, acerc, select, proiect, poligon4, terenuri, monoton, acoperire, capra, testament, jb, sdmin, parc1, gsm, triunghi5, puncte6, romb1, dreapta, grindina, tdrept
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, 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
surse trimise | ajutor