Nivelul concursului: Județean
http://olimpiada.info/oji2020/index.php
Grupe
Clasa a V-a Clasa a VI-a Clasa VII-a Clasa VIII-a Clasa a IX-a Clasa a X-a Clasele XI-XII#3440
Buldo
Dorești să nivelezi terenul pe care l-ai cumpărat, care are lățimea de 1
metru și lungimea de N
metri, fiind alcătuit din N
zone succesive, fiecare zonă având lungimea de 1
metru. Terenul se reprezintă ca un șir de N
numere naturale h
1
, h
2
, h
3
, …, h
N
reprezentând înălțimile în metri pe care le au zonele din terenul inițial, privite de la stânga spre dreapta.
Pentru a nivela terenul ai închiriat un buldozer care funcționează astfel. Se alege o înălțime H
(număr natural) la care ridicăm lama buldozerului. Inițial buldozerul are pe lamă o cantitate C=0
metri cubi de pământ. Buldozerul începe să mergă de la stânga la dreapta și când ajunge la zona i
, în funcție de înălțimea h
i
a acesteia, se va afla în una dintre următoarele situații:
h
i
≥ H
atunci cantitatea suplimentară h
i
- H
se adaugă la C
și nivelul zonei ajunge la H
.h
i
< H
atunci se scade din C
diferența H - h
i
pentru a aduce nivelul zonei la nivelul H
.Remarcăm faptul că H
trebuie ales inițial astfel încât de fiecare dată când buldozerul ajunge în a doua situație să aibă pe lamă suficient pământ (C ≥ H - h
i
). După ce buldozerul parcurge cele N
zone de lungime 1
pe lama buldozerului e posibil să mai rămână pământ, dar asta nu te interesează, pentru că la capătul din dreapta al terenului este un râu, și pământul rămas se va vărsa acolo.
Scrieţi un program care calculează înălțimea maximă H
la care poate fi ridicată lama, astfel încât terenul să poată fi nivelat la acea înălțime.
OJI 2020, clasa a IX-a
#3442
SpiralMatrix
Parcurgând elementele unei matrice pătratice de dimensiune n
în spirală, pornind din colțul din
stânga-sus, în sens orar, de la margini către interior, se obține șirul strict crescător format din toate
valorile de la 1
la n
2
, ca în figura de mai jos. Din șirul dat se obțin două subșiruri disjuncte, de lungime egală, cu număr maxim de termeni. Primul subșir este format din numere consecutive din prima jumătate a șirului, și trebuie să conțină în mod obligatoriu valoarea 1
, iar al doilea este format din numere consecutive din a doua jumătate a șirului și trebuie să conțină în mod obligatoriu valoarea n
2
.
1 | 2 | 3 | 4 | 5 |
16 | 17 | 18 | 19 | 6 |
15 | 24 | 25 | 20 | 7 |
14 | 23 | 22 | 21 | 8 |
13 | 12 | 11 | 10 | 9 |
Să se afle poziția în matrice a celui mai mare termen din primul subșir și a celui mai mic termen din al
doilea subșir.
OJI 2020, clasa a IX-a
#3441
Cetate
Cetatea Vizima din regatul Temeria poate fi reprezentată printr-o matrice cu N
linii și M
coloane, numerotate începând cu 1
. Vizima este o cetate înfloritoare, fapt datorat numărului mare de negustori și meșteri prezenți. Din acest motiv, fiecărei celule din matrice îi este atribuit un profit corespunzător zonei respective. Regele Foltest dorește să reconstruiască zidurile cetății, dar cum războiul cu Imperiul Nilfgaard bate la ușă și resursele regatului sunt limitate, el trebuie să aleagă o porțiune pe care să o poată apăra, reprezentată ca o submatrice. O submatrice este identificată printr-o configurație de patru numere i1
, j1
, i2
, j2
(1≤i1≤i2≤N
, 1≤j1≤j2≤M
), în această ordine, și este formată din elementele situate pe liniile consecutive i1
, i1+1
, …, i2
și pe coloanele consecutive j1
, j1+1
, …, j2
ale matricei prin care este reprezentată cetatea. Laturile submatricei sunt egale cu numărul de linii, respectiv de coloane din care a preluat elemente, iar profitul submatricei este suma valorilor din celulele sale.
Scrieţi un program care, cunoscând matricea cetății și o valoare K
, determină:
K
, precum și configurația prin care se identifică ea;K
, precum și configurația prin care se identifică ea.OJI 2020, clasa a IX-a