Holiday (Vacaciones) - International Olympiad in Informatics

Transcripción

Holiday (Vacaciones) - International Olympiad in Informatics
InternationalOlympiadinInformatics2014
13-20thJuly2014
Taipei,Taiwan
holiday
Day-2tasks
Language:es-AR
Holiday(Vacaciones)
Jian-JiaestáplanificandosuspróximasvacacionesenTaiwan.Durantesusvacaciones,Jian-Jiase
desplazadeciudadenciudadyvisitaatractivosenlasciudades.
Hay ciudadesenTaiwan,todasubicadasalolargodeunasolaautopista.Lasciudadesestán
numeradasconsecutivamentedesde0hasta
.Paralaciudad ,donde
,las
ciudadesadyacentesson
y
.Laúnicaciudadadyacentealaciudad0eslaciudad1,yla
únicaciudadadyacentealaciudad
eslaciudad
.
Cadaciudadcontieneciertonúmerodeatractivos.Jian-Jiaplaneavisitartantosatractivoscomolesea
posible.Jian-Jiayahaseleccionadolaciudadenlacualiniciarsusvacaciones.CadadíaJian-Jia
puede,yaseadesplazarseaunaciudadadyacente,yaseavisitartodoslosatractivosdelaciudaden
lacualestá,peronoambos.Jian-Jianuncavisitarálosatractivosenunamismaciudaddosveces
aunqueestuvieraenlaciudadmúltiplesveces.PorfavorayudaaJian-Jiaaplanearsusvacacionesde
modotalquevisitetantosatractivosdiferentescomoseaposible.
Ejemplo
SupongaqueJian-Jiatiene7díasdevacaciones,hay5ciudades(listadasenlatablaabajo),yqueél
partedesdelaciudad2.DuranteelprimerdíaJian-Jiavisitalos20atractivosdelaciudad2.Enel
segundodíaJian-Jiasedesplazadesdelaciudad2hacialaciudad3,yeneltercerdíavisitalos30
atractivosenlaciudad3.Jian-Jiaentoncesinsumelostressiguientesdíasendesplazarsedesdela
ciudad3hacialaciudad0,yvisitalos10atractivosdelaciudad1enelsextodía.Elnúmerototalde
atractivosJian-Jiavisitais20+30+10=60,elcualeselmaximonúmerodeatractivosJian-Jiapuede
visitaren7díascuandoeliniciadesdelaciudad2.
ciudad
0
1
2
3
4
día
1
2
3
4
5
6
númerodeatractivos
10
2
20
30
1
acción
visitalosatractivosenlaciudad2
sedesplazadesdelaciudad2hacialaciudad3
visitalosatractivosenlaciudad3
sedesplazadesdelaciudad3hacialaciudad2
sedesplazadesdelaciudad2hacialaciudad1
sedesplazadesdelaciudad1hacialaciudad0
1/3
día
acción
7
visitalosatractivosenlaciudad0
Tarea
PorfavorimplementaunafunciónfindMaxAttractionquecomputeelmáximonúmerode
atractivosJian-Jiapuedevisitar.
findMaxAttractionstart,d,attraction)
n:elnúmerodeciudades.
start:elíndicedelaciudaddeinicio.
d:elnúmerodedías.
attraction:arraydelargo ;attraction[i]eselnúmerodeatractivosenlaciudad
,para
.
LafuncióndebedevolverelmáximonúmerodeatractivosJian-Jiapuedevisitar.
Subtareas
Entodaslassubtareas
númerononegativo.
,yelnúmerodeatractivosencadaciudadesun
Restriccionesadicionales:
subtarea puntos
1
7
2
23
3
17
4
53
máximonúmerodeatractivosenuna
ciudad
ciudadde
inicio
sin
restricciones
laciudad0
sin
restricciones
sin
restricciones
Detallesdeimplantación
Debesenviarexactamenteunarchivo,llamadoholiday.c,holiday.cppoholiday.pas.Este
archivodebieraimplantarelsubprogramadescriptomásarribautilizandolossiguientes
encabezamientos.Necesitasincluirtambiénunarchivocabezaholiday.hparalaimplantaciónen
C/C++.
Observequeelresultadopuedesergrande,yeltipoderetornodefindMaxAttractionesun
enterode64bits.
2/3
programaciónenC/C++
longlongintfindMaxAttraction(intn,intstart,intd,
intattraction[]);
ProgramaciónenPascal
functionfindMaxAttraction(n,start,d:longint;
attraction:arraydelongint):int64;
Samplegrader
Elsamplegrader(programaevaluadorparapruebalocal)leesuentradaconelformatosiguiente:
linea1:n,start,d.
linea2:attraction[0],...,attraction[n-1].
ElsamplegraderimprimiráelvalorderetornodefindMaxAtractivo.
3/3

Documentos relacionados