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