Rel Roller Coaster - International Olympiad in Informatics

advertisement
InternationalOlympiadinInformatics2016
12-19thAugust2016
Kazan,Russia
day1_2
railroad
Country:IDN
RelRollerCoaster
Annabekerjapadasebuahtamanhiburandandiasedangbertanggungjawab
membangunreluntuksebuahrollercoasterbaru.Diatelahmerencanakan n bagian
spesial(diberinomordari 0 sampai n − 1 )yangmempengaruhikecepatansebuah
keretarollercoaster.Diasekarangharusmeletakanmerekabersama-samadan
mengusulkansebuahrancanganterakhirdarirollercoaster.Untuktujuansoalini
Andadapatberasumsibahwapanjangdarikeretaadalahnol.
Untuksetiap i diantara 0 dan n − 1 ,inklusif,bagianspesial i memilikiduasifat:
ketikamemasukisuatubagian,terdapatsebuahbataskecepatan:kecepatan
keretaharuskurangdariatausamadengan si km/jam(kilometerperjam),
ketikameninggalkansuatubagian,kecepatankeretaadalahtepat ti km/jam,
tanpapedulikecepatankeretapadasaatmemasukibagiantersebut.
Rollercoasteryangtelahselesaiadalahsebuahlintasanreltunggalyangberisi n
bagianspesialpadasuatuurutan.Setiap n bagianharusdigunakantepatsekali.
Bagianberurutandihubungkandenganjalur.Annaharusmemilihurutandari n
bagiandankemudianmenentukanpanjangdaritiapjalur.Panjangdarisebuahjalur
diukurdalammeterdanbisasamadenganbilanganintegernon-negatifapapun
(mungkinsajanol).
Setiapmeterdarijalurdiantaraduabagianspesialmemperlambatkeretasebanyak 1
km/jam.Padaawalperjalanan,keretamemasukibagianspesialpertamadengan
urutanyangditentukanolehAnnadengankecepatan 1 km/jam.
Rencanganakhirharusmemenuhisyarat-syaratberikutini:
keretatidakmelanggarbataskecepatanapapunketikamemasukibagian
spesial;
kecepatankeretaadalahpositifpadasaatapapun.
Padasemuasubtaskkecualisubtask3,tugasAndaadalahmencarijumlahminimum
yangmungkindaripanjangjalurdiantarabagian.Padasubtask3Andahanyaperlu
memeriksaapakahterdapatrancanganrollercoasteryangsah,sedemikiansehingga
setiapjalurmemilikipanjangnol.
RincianImplementasi
Andaharusmengimplementasikansebuahfungsi(method):
int64pla n_ro lle r_co a ste r(int[]s,int[]t).
1/3
s:arraydenganpanjang n ,kecepatanmasukmaksimumyang
diperbolehkan.
t:arraydenganpanjang n ,kecepatankeluar.
Padasemuasubtaskkecualisubtask3,fungsiharusmengembalikan
jumlahminimumyangmungkindaripanjangsemuajalur.Padasubtask3
fungsiharusmengembalikan 0 jikaadasebuahrancanganrollercoaster
yangsahsedemikiansehinggasetiapjalurmemilikipanjangnol,dan
bilanganintegerpositifapapunjikatidakada.
Contoh
pla n_ro lle r_co a ste r([1,4,5,6],[7,3,8,6])
Padacontohiniterdapatempatbagianspesial.Solusiterbaikadalahmembangun
merekadenganurutan 0, 3, 1, 2 ,danmenghubungkanmerekadenganjalurdengan
panjangberturut-turut 1, 2, 0 .Berikutadalahbagaimanakeretaberjalansepanjang
jalurrelini:
Padaawalnyakecepatankeretaadalah 1 km/jam.
Keretamemulaiperjalanandenganmemasukibagianspesial 0 .
Keretameninggalkanbagian 0 dengankecepatan 7 km/jam.
Kemudianterdapatsebuahjalurdenganpanjang 1 m.Ketikakeretamencapai
akhirdarijalur,kecepatannyaadalah 6 km/jam.
Keretamemasukibagianspesial 3 dengankecepatan 6 km/jamdan
meninggalkannyapadakecepatanyangsama.
Setelahmeninggalkanbagian 3 ,keretaberjalansepanjangsebuahjalurdengan
panjang 2 m.Kecepatannyamenurunke 4 km/jam.
Keretamemasukibagianspesial 1 dengankecepatan 4 km/jamdan
meninggalkannyadengankecepatan 3 km/jam.
Sesaatsetelahbagianspesial 1 keretamemasukibagianspesial 2 .
Keretameninggalkanbagian 2 .Kecepatanakhirnyaadalah 8 km/jam.
Fungsiharusmengembalikanjumlahpanjangjalurdiantarabagianspesial:
1+2+0 = 3.
Subtasks
Padasemuasubtask 1 ≤ si
1. (11poin): 2 ≤ n
≤ 109 dan 1 ≤ ti ≤ 109 .
≤ 8,
2. (23poin): 2 ≤ n ≤ 16 ,
3. (30poin): 2 ≤ n ≤ 200 000 .PadasubtaskiniprogramAndahanyaperlu
memeriksaapakahjawabanadalahnolatautidak.Jikajawabanadalahbukan
nol,jawabanbilanganintegerpositifapapundianggapbenar.
4. (36poin): 2 ≤ n
≤ 200 000 .
2/3
Grader
Gradermembacamasukandenganformatberikut:
baris1:bilanganinteger n .
baris2+i,untuk i diantara 0 dan n − 1 :bilanganinteger si dan ti .
3/3
Download