Kolejka górska (Roller Coaster Railroad)

Transkrypt

Kolejka górska (Roller Coaster Railroad)
InternationalOlympiadinInformatics2016
12-19thAugust2016
Kazan,Russia
day1_2
railroad
Country:POL
Kolejkagórska(RollerCoasterRailroad)
Annapracujewparkurozrywkiizajmujesiębudowąnowejkolejkigórskiej.
Zaprojektowałajuż n specjalnychsekcji(dlawygodyponumerowanychod 0 do
n − 1 ),którezmieniająprędkośćwagonikówkolejki:sątogórki,dolinkiiwiele
innych.Terazmusizaproponowaćostatecznykształtkolejki,używającwszystkich
zaprojektowanychsekcji.Wtymzadaniudlauproszczeniazakładamy,żedługość
samejkolejkiwynosi0.
Dlakażdego i pomiędzy 0 a n − 1 włącznie,specjalnasekcja i manastępujące
właściwości:
kiedykolejkawjeżdżadodanejsekcji,niemożeprzekraczaćustalonegolimitu
prędkości:prędkośćwagonikówmusiwynosićconajwyżej si km/h(kilometrów
nagodzinę),
kiedykolejkaopuszczasekcję,jejprędkośćwynosidokładnie ti km/h,
niezależnieodprędkości,zjakąkolejkawjechaładotejsekcji.
Ostatecznyprojektkolejkipowinienzawieraćkażdąz n jużzaprojektowanychsekcji.
Każdejsekcjinależyużyćdokładnieraz.Ponadtopomiędzykażdymidwiema
sąsiadującymisekcjamimożnawybudowaćtory.Annawybierakolejność n sekcji,a
następniedecydujeonaodługościposzczególnychtorów.Długośćtorówjestmierzona
wmetrachimożebyćrównadowolnejnieujemnejliczbiecałkowitej(wszczególności
możebyćto0).
Każdymetrtorówpomiędzyspecjalnymisekcjamispowalniakolejkęo1km/h.Na
początkutrasykolejkawjeżdżadopierwszejspecjalnejsekcjizprędkością1km/h.
Ostatecznyprojektmusispełniaćnastępującewarunki:
wchwiliwjeżdżaniadospecjalnejsekcjikolejkaniemożeprzekraczaćlimitu
prędkości;
prędkośćkolejkimusibyćdodatniawkażdymmomencietrasy.
WewszystkichpodzadaniachoprócztrzeciegoTwoimzadaniemjestznaleźćkolejność
n specjalnychsekcjiidobraćdługościtorówpomiędzynimi,takabycałkowita
długośćtorówbyłajaknajmniejsza.Wtrzecimpodzadaniumusiszjedyniesprawdzić,
czyistniejeprawidłowyprojektkolejki,wktórymwszystkietorymajądługość0.
Szczegółyimplementacji
Powinieneśzaimplementowaćnastępującąfunkcję(metodę):
int64pla n_ro lle r_co a ste r(int[]s,int[]t)
1/3
s:tablicadługości n opisującamaksymalneprędkościwejściadosekcji.
t:tablicadługości n opisującaprędkościwyjściazsekcji.
Wewszystkichpodzadaniachpozatrzecimfunkcjapowinnazwracać
minimalnąsumarycznądługośćwszystkichtorówpomiędzyspecjalnymi
sekcjami.Natomiastwtrzecimpodzadaniufunkcjapowinnazwracać 0 ,
jeżeliistniejepoprawnyprojektkolejki,wktórymwszystkietorypomiędzy
sekcjamimajądługośćzero,natomiastdowolnądodatniąliczbęcałkowitą,
jeżelitakiprojektnieistnieje.
WjęzykuCsygnaturafunkcjijestminimalnieinna:
int64pla n_ro lle r_co a ste r(intn,int[]s,int[]t)
n:rozmiartablicsorazt(tj.liczbaspecjalnychsekcji),
pozostałeparametrysątakiesamejakpowyżej.
Przykład
int64pla n_ro lle r_co a ste r([1,4,5,6],[7,3,8,6])
Wtymprzykładziemamyczteryspecjalnesekcje.Najlepszymmożliwym
rozwiązaniemjestwybudowanieichwkolejności 0, 3, 1, 2 ipołączenieichtoramio
długościach,odpowiednio, 1, 2, 0 .Kolejkawtedyporuszasięnastępująco:
Początkowaprędkośćkolejkiwynosi 1 km/h.
Kolejkarozpoczynatrasę,wjeżdżającdospecjalnejsekcjinr 0 .
Kolejkaopuszczasekcję 0 zprędkością 7 km/h.
Następniekolejkawjeżdżanatoryodługości 1 m.Poichprzejechaniuma
prędkość 6 km/h.
Kolejkawjeżdżadospecjalnejsekcjinr 3 zprędkością 6 km/hiopuszczająztą
samąprędkością.
Poopuszczeniusekcji 3 kolejkajedzieprzez 2 mtorów.Prędkośćmalejedo 4
km/h.
Kolejkawjeżdżadospecjalnejsekcjinr 1 zprędkością 4 km/hiopuszczająz
prędkością 3 km/h.
Natychmiastpoopuszczeniusekcjispecjalnejnr 1 kolejkawjeżdżadosekcjinr
2.
Kolejkawyjeżdżazsekcjinr 2 .Ostatecznaprędkośćkolejkiwynosi 8 km/h.
Funkcjapowinnazwrócićsumarycznądługośćtorówpomiędzyspecjalnymisekcjami:
1+2+0 = 3.
Podzadania
Wewszystkichpodzadaniach 1 ≤ si
1. (11punktów): 2 ≤ n
≤ 8,
2. (23punkty): 2 ≤ n ≤ 16 ,
≤ 109 oraz 1 ≤ ti ≤ 109 .
2/3
3. (30punktów): 2 ≤ n
≤ 200 000 .WtympodzadaniuTwójprogrammusijedynie
sprawdzić,czywynikiemjestzero,czyteżnie.Jeżeliwynikiemniejestzero,
każdadodatnialiczbacałkowitajestuznawanazapoprawną.
4. (36punktów): 2 ≤ n ≤ 200 000 .
Przykładowyprogramsprawdzający
Przykładowyprogramsprawdzającywczytujedanewnastępującymformacie:
wiersz1:liczbacałkowita n ,
wiersz 2 + i ,dla i pomiędzy 0 i n − 1 :liczbycałkowite si i ti .
3/3

Podobne dokumenty