You are on page 1of 3

Lietuvos mokinių informatikos olimpiada

_____________________________________________________________________________________

Treniruotė • Uždavinys nr. 9 garazas

Garažas
Garaže yra N parkavimo vietų, sunumeruotų nuo 1 iki N. Mašinos į garažą statomos
tokiu būdu. Prie garažo vartų privažiavus mašinai darbuotojas patikrina, ar garaže yra
laisvų vietų. Jei garaže yra nors viena laisva vieta, mašina iš karto įvažiuoja į garažą ir
pastatoma. Jei yra kelios laisvos vietos, mašina pastatoma parkavimo vietoje su
mažiausiu numeriu. Jei vietų nėra, mašina laukia prie įvažiavimo, kol atsilaisvina vieta.
Jei belaukiant atvažiuoja daugiau mašinų, jos stoja į eilę prie garažo ta tvarka, kuria
atvažiavo. Atsiradus laisvai vietai, pirmoji eilėje stovinti mašina (t.y. anksčiausiai
atvažiavusi) įvažiuos į garažą ir užims tą vietą.

Už parkavimą reikia mokėti. Kaina apskaičiuojama dauginant mašinos svorį iš


konkrečios stovėjimo vietos įkainio. Parkavimo kaina nepriklauso nuo mašinos
stovėjimo garaže laiko.

Garažo darbuotojas žino, kad į garažą atvažiuos M mašinų, taip pat žino jų atvykimų ir
išvykimų tvarką. Padėkite jam apskaičiuoti, kiek pinigų už mašinų stovėjimą bus
surinkta.

Užduotis. Parašykite programą, kuri pagal stovėjimo vietų įkainius, mašinų svorius ir
jų atvykimų ir išvykimų tvarką suskaičiuotų, kiek pinigų surinkta už mašinų stovėjimą.

Pradiniai duomenys.
• Pirmoje eilutėje įrašyti du tarpu atskirti sveikieji skaičiai N ir M.
• Tolesnėse N eilučių pateiktos parkavimo vietų įkainiai, nuo pirmosios iki N-osios,
po vieną skaičių eilutėje. Tai konkrečios parkavimo vietos įkainis doleriais
vienam kilogramui.
• Tolesnėse M eilučių pateikti mašinų svoriai kilogramais. Mašinos yra
sunumeruotos nuo 1 iki M, ir svoriai pateikti jų numerių tvarka.
• Tolesnėse 2*M eilučių pateikti mašinų atvykimai ir išvykimai chronologine
tvarka. Teigiamas skaičius i žymi mašinos i atvykimą prie garažo. Neigiamas
skaičius –i žymi mašinos i išvykimą iš garažo.
Visais atvejais mašina pirmiau atvyks ir tik po to išvyks. Kiekviena mašina ir atvyks, ir
išvyks. Jokia mašina neišvyks laukdama laisvos vietos garaže.

Rezultatai. Rezultatą sudaro vienas sveikasis skaičius, pateiktas vienoje eilutėje, –


pinigų (dolerių), surinktų už mašinų stovėjimą, skaičius.

1
Lietuvos mokinių informatikos olimpiada
_____________________________________________________________________________________

Treniruotė • Uždavinys nr. 9 garazas

Pavyzdžiai.

Pradiniai duomenys Rezultatas Paaiškinimai


3 4 5300
2
3-oji mašina pastatoma 1-oje vietoje ir
3
sumokama 300 * 2 = 600 dolerių.
5
200 2-oji mašina pastatoma 2-oje vietoje ir
100 sumokama 100 * 3 = 300 dolerių.
300
1-oji mašina pastatoma 1-oje vietoje (iš
800
kurios ką tik išvažiavo 3-oji mašina) ir
3
sumokama 200 * 2 = 400 dolerių.
2
-3 4-oji mašina pastatoma 3-oje (paskutinėje
1 laisvoje) vietoje ir sumokama 800 * 5 =
4 4,000 dolerių.
-4
-2
-1

Pradiniai duomenys Rezultatas Paaiškinimai


2 4 16200 3-oji mašina pastatoma 1-oje vietoje ir
5 sumokama 1,000 * 5 = 5,000 dolerių.
2
1-oji mašina pastatoma 2-oje vietoje ir
100
sumokama 100 * 2 = 200 dolerių.
500
1000 2-oji mašina atvyksta prie garažo ir
2000 laukia;
3
4-oji mašina atvyksta prie garažo,
1
atsistoja paskui 2-ąją ir laukia eilėje;
2
4 Kai išvyksta 1-oji mašina, 2-oji mašina
-1 pastatoma į laisvą vietą ir sumokama 500
-3 * 2 = 1,000 dolerių.
-2
Kai išvyksta 3-oji mašina, 4-oji mašina
-4
pastatoma į laisvą vietą ir sumokama
2,000 * 5 = 10,000 dolerių.

2
Lietuvos mokinių informatikos olimpiada
_____________________________________________________________________________________

Treniruotė • Uždavinys nr. 9 garazas

Ribojimai.

1  N  100 Parkavimo vietų skaičius


1  M  2,000 Automobilių skaičius
1  Rs  100 Parkavimo vietos s įkainis doleriais už kilogramą
1  Wk  10,000 Automobilio k svoris kilogramais

Testuose, kurių bendra vertė sudaro 40 taškų, kiekvienos mašinos atvykimo momentu
garaže bus nors viena laisva vieta. Šiais atvejais nei vienai mašinai neteks laukti.

You might also like