InternationalOlympiadinInformatics2016 12-19thAugust2016 Kazan,Russia day1_1 molecules Country:IDN MendeteksiMolekul Petrbekerjapadasebuahperusahaanyangmembuatsebuahmesinuntuk mendeteksihimpunanmolekul.Tiapmolekulmempunyaibobotberupabilangan integerpositif.Mesintersebutmempunyaisuaturentangpendeteksian [l, u] , dengan l dan u berupabilanganintegerpositif.Mesindapatmendeteksisuatu himpunanmolekuljikadanhanyajikahimpunaninimemuatsebuahsubhimpunan molekuldengantotalbobotsesuaidenganrentangpendeteksiantersebut. Secaraformal,terdapat n molekuldenganbobotberupabilanganintegerpositif w0 , … , wn−1 .Pendeteksiandikatakanberhasiljikaterdapatsebuahhimpunan denganindeks-indeksyangsalingberbeda I l ≤ wi1 + … + wim ≤ u . = {i1 , … , im } sedemikiansehingga Berdasarkanspesifikasimesindiatas,makaselisihantara l dan u dijaminlebih besaratausamadenganselisihbobotantaramolekulterberatdanterringan.Secara formal, u − l ≥ wmax − wmin ,dengan wmax = max(w0 , … , wn−1 ) dan wmin = min(w0 , … , wn−1 ) . TugasAndaadalahmenuliskansebuahprogramuntukmenentukanapakahada sebuahsubhimpunanmolekulsebarangdengantotalbobotberadapadarentang pendeteksianyangsudahditentukanatautidak. RincianImplementasi Andaharusmengimplementasikansebuahfungsi(method): int[]s o lve (intl,intu,int[]w) ldanu:titik-titikujungsuaturentangpendeteksian, w:himpunanbobotdarimolekul. jikaterdapatsubhimpunanyangsesuaidenganspesifikasimesin,maka fungsitersebutharusmengembalikansebuaharrayberisiindeksdari molekul-molekulyangmembentuksubhimpunantersebut.Jikaterdapat beberapajawabanyangbenar,makafungsitersebutdapatmengembalikan sebarangjawaban. jikatidakterdapatsatupunsubhimpunanyangmemenuhispesifikasi tersebut,makafungsitersebutharusmengembalikansebuaharraykosong. ProgramAndadapatmenuliskanindeksdenganurutansebarangpadaarray pengembalian. Gunakanfiletemplateyangsudahdisediakanuntukimplementasirincidaribahasa 1/2 pemrogramanyangAndapakai. Contoh Contoh1 s o lve (15,17,[6,8,8,7]) Padacontohdiatasterdapatempatmolekuldenganbobot6,8,8dan7.Mesindapat mendeteksisubhimpunandengantotalbobotantara15and17,inklusif.Catatan, 17 − 15 ≥ 8 − 6 .Totalbobotmolekul1dan3is w1 + w3 = 8 + 7 = 15 ,sehingga fungsidanmengembalikan[1,3].Kemungkinanjawabanbenaryanglainadalah[1, 2]( w1 + w2 = 8 + 8 = 16 )dan[2,3]( w2 + w3 = 8 + 7 = 15 ). Contoh2 s o lve (14,15,[5,5,6,6]) Padacontohdiatasterdapatempatmolekuldenganbobot5,5,6dan6,dankitaakan mencarisubhimpunandengantotalbobotantara14dan15,inklusif.Catatan, 15 − 14 ≥ 6 − 5 .Tidakterdapatsatupunsubhimpunanmolekuldengantotalbobot antara 14 dan 15 sehinggafungsiharusmengembalikansebuaharraykosong. Contoh3 s o lve (10,20,[15,17,16,18]) Padacontohdiatasterdapatempatmolekuldenganbobot15,17,16dan18,dankita akanmencarisubhimpunandengantotalbobotantara10dan20,inklusif.Catatan, 20 − 10 ≥ 18 − 15 .Sebarangsubhimpunanyangmempunyaitepatsatuelemen memilikijumlahbobotantara10dan20,sehinggakemungkinanjawabanyangbenar adalah:[0],[1],[2]dan[3]. Subtask 1. (9poin): 1 ≤ n ≤ 100 , 1 ≤ wi ≤ 100 , 1 ≤ u, l ≤ 1000 ,semua wi sama. 2. (10poin): 1 ≤ n ≤ 100 , 1 ≤ wi , u, l ≤ 1000 dan max(w0 , … , wn−1 ) − min(w0 , … , wn−1 ) ≤ 1 . 3. (12poin): 1 ≤ n ≤ 100 dan 1 ≤ wi , u, l ≤ 1000 . 4. (15poin): 1 ≤ n ≤ 10 000 dan 1 ≤ wi , u, l ≤ 10 000 . 5. (23poin): 1 ≤ n ≤ 10 000 dan 1 ≤ wi , u, l ≤ 500 000 . 6. (31poin): 1 ≤ n ≤ 200 000 dan 1 ≤ wi , u, l < 231 . Grader Gradermembacamasukandenganformatberikut: baris1:bilanganinteger n , l , u . baris2: n bilanganinteger: w0 , … , wn−1 . 2/2