Fişierul intrare/ieşire:poligon6.in, poligon6.outSursăONI 2011, clasa a 9-a
AutorCiprian ChescaAdăugată deeudanipEugenie Daniel Posdarascu eudanip
Timp execuţie pe test0.15 secLimită de memorie6144 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Poligon6

Poligonul de tragere este un teren special amenajat în cadrul căruia se fac exerciţii şi se execută trageri cu arme de foc. Comandantul plasează câte o ţintă în toate punctele aflate la distanţele Ri, 1 ≤ i ≤ n faţă de punctul de tragere (origine) şi care au coordonatele carteziene numai numere naturale nenule.
Specialiştii în armament români au creat recent o nouă armă sub forma unui tun laser care îşi lansează razele pe o traiectorie rectilinie şi are capacitatea de a distruge toate ţintele aflate pe direcţia de tragere.

Ştiind că tunul laser se găseşte în originea sistemului de coordonate, să se scrie un program care să determine: numărul de ţinte, numărul minim de lovituri de tun laser necesare pentru a distruge toate ţintele precum şi numărul de ţinte doborâte la fiecare lovitură. Spre exemplu, dacă avem n=6 distanţe (5, 7, 10, 13, 15, 17) pentru care se încearcă plasarea ţintelor, atunci în poligon se vor plasa 10 ţinte, va fi nevoie de 6 lovituri pentru a doborî toate ţintele iar la fiecare lovitură se vor doborî respectiv 1, 1, 3, 3, 1, 1 ţinte.

Date de intrare

Fişierul de intrare poligon6.in conţine pe prima linie numărul n de distanţe la care vor fi plasate ţinte, iar pe a doua linie n numere naturale nenule distincte separate printr-un spaţiu, ce reprezintă aceste distanţe.

Date de ieşire

Fişierul de ieşire poligon6.out va conţine 3 linii. Pe prima linie se va scrie numărul ţintelor plasate în poligon. Pe a doua linie se va scrie numărul minim de lovituri de tun laser cu care se pot doborî toate ţintele, iar pe a treia linie se va scrie numărul de ţinte doborâte la fiecare lovitură, separate printr-un spaţiu, în ordinea crescătoare a unghiurilor direcţiilor cu axa OX.

Restricţii

  • 1 ≤ N ≤ 1000
  • 1 ≤ Ri ≤ 1000
  • Pentru fiecare set de date de intrare, în poligon va exista cel puţin o ţintă.
  • Se acordă:
    • 20% din punctaj pentru determinarea corectă a numărului de ţinte.
    • 40% din punctaj pentru determinarea corectă a numărului minim de lovituri.
    • 40% din punctaj pentru determinarea corectă a numărului de ţinte doborâte la fiecare lovitură.

Exemplu

poligon6.inpoligon6.out
6
5 10 15 7 13 17
10
6
1 1 3 3 1 1

Explicaţie

Avem 6 distanţe: 5, 10, 15, 7, 13, 17. În poligon vor fi plasate 10 ţinte (punctele negre marcate pe figură) care pot fi doborâte din 6 lovituri iar la fiecare lovitură se vor doborî câte 1, 1, 3, 3, 1, 1 ţinte. Exemplul corespunde imaginii de mai jos.

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

remote content