
BINUS Programming Contest for HighSchool Student 2016
Halo para pembaca!
Berhubung masih dikit yang cerita tentang BNPCHS 2016, jadi aku akan ceritain pengalaman ku selama BNCPHS 2016 waktu penyisihan. Asal kalian tahu, ini adalah debut pertama kaliku (alay) di dunia competitive programming*. Oke, lanjut.
H -1 Penyisihan
Jadi, seperti tahun tahun sebelumnya penyisihan BNPCHS diadakan di OJ nya BINUS yakni jollybeeoj.com (yang sekarang udah ditutup kalo gak salah, pindah ke pandaoj.com). Sebelum penyisihan berlangsung, ada Trial yang diadain sehari sebelum lomba, yaitu tanggal 23 Juli 2016. itu hari Sabtu. Karena saat itu aku ada acara sekolah dan HP ku masih jadul (samsung corby 2 <-- menemani ku dari kelas 4 SD), jadi aku gak bisa ikut trial. Aku pengen lihat problem trial nya akhirnya aku minta tolong ke kak Mahardika (*anak SMAN 3 Bogor <-- jauh dari peradabanku).
Jadi, aku minta tolong ke dia buat nge-save probnya dan kirim via messages fb, soalnya aku takut gak bisa baca problem karena udah ditutup gitu… (*makasih kak). Oke, kita skip karena emang gak ada yang seru…
FYI: Ternyata problemnya tetep bisa dilihat meskipun gak ikut kontesnya asalkan udah terdaftar di situ :v
Hari Penyisihan
Penyisihan diadain hari Minggu, 24 Juli 2016 jam 13.00 - 16.30 WIB (3 jam setengah). Andai kalian tahu, 4 jam sebelum penyisihan aku masih ada di sekolah dengan acara yang ya begitulah….(btw acaranya nginep disekolah). Akhirnya jam 10.30 an aku pulang dari sekolah dan sampai dirumah jam 11.00 an. Jam 13.00 tiba, aku mulai buka laptop dan konekin ke internet (gak penting banget, cuman biar postnya lebih panjang aja). Aku baca baca problem nya. Aku nemu 1 problem yang gak begitu sulit. Kalo gak salah dikasih input terus tinggal pake conditional (if else bagi yang gak tau) itu aja (udah lupa).
Akhirnya aku kerjain. Karena terlalu PD dan niatnya biar time penalty nya dikit, akhirnya aku submisi tanpa aku coba compile. Ternyata dapet verdict “Compile Error”. Aku coba benerin dan aku compile doang, gak aku coba sample tc-nya. Lagi-lagi, dapet verdict “Wrong Answer”. Hufftt…. sebel kan… LOL.. ceroboh, malah bikin time penaltynya banyak. Akhirnya ku benerin bugnya, terus coba sample testcase nya, ku submisi untuk 3x nya dan akhirnya “Accepted”. (*syukurlah, bisa AC).
Setelah selesai problem ini, aku baca-baca problem lain. Tak dinyanah dan disangka ngantuk sudah mulai menghinggapi dan gak ada ide yang muncul (mantap stressnya). Oke, karena udah mampet, akhirnya aku putuskan untuk tidur. Padahal itu masih sisa 3 jam lebih dan cuma bertengger di ranking 70++. Akhirnya, aku bangun sekitar jam 16.40 WIB yang artinya kontes sudah berakhir dan ternyata rankingku masih di 70++ (ya iyalah, yang ikut cuma 80 peserta doang. LOL). Dan seperti biasa para mastah ada di 20 besar… hufftt…
![]() |
---|
Scoreboard sudah di freeze |
H +3 Penyisihan
Saat itu, aku sedang di sekolah dan tiba-tiba ada yang sms. “Apakah kamu masih bersekolah di SMPN 1 Sidoarjo?” (waktu itu saya daftar saat SMP, jadi pake nama sekolah SMP), dan aku jawab kalo aku sudah SMA, terus besoknya pengumuman finalis BNPCHS dan ada namaku disana…
(untuk daftar peserta yang lolos ke final bisa cek disini)
Oke, akhirnya aku memutuskan untuk mengikuti Final BNPCHS yang diadain 2 minggu setelah penyisihan di Kampus Anggrek, BINUS (lumayan, sekalian jalan-jalan ke Jakarta, maklum anak desa gak pernah liat Jakarta).
Kesimpulan
- Jangan ke PD an, selalu compile dan minimal coba sample tc-nya dulu, baru submisi.
- Kalo lagi lomba, jangan tidur.
- Punya temen banyak itu enak juga ternyata. Ada yang bantuin saat kesusahan.
Thanks to kak Mahardika Krisna Ihsani.
Final Round
Final BNPCHS 2016 diadain di Kampus Anggrek BINUS, Jakarta (entah jakarta bagian mana, mungkin yang tahu bisa komen). Karena ini diadain di Jakarta, aku berangkat dari rumahku hari Sabtu nya jam 15.00 WIB naik kereta api.
Setelah ± 12 jam perjalanan, akhirnya aku sampe di Stasiun Pasar Senen jam 03.00 WIB. Halo Jakarta! (maklum anak kampung).
Gak lama, aku dijemput sama supirnya temennya ayahku (silahkan nalar sendiri, hehehe) dan dianter ke rumahnya temennya ayahku. Jam 07.00 WIB, aku dianter temennya ayahku ke Kampus Anggrek Binus. Sampai di Kampus BINUS, aku nunggu di lantai dasar, soalnya registrasinya belum dibuka. Karena waktu itu, bersamaan sama test Binus kalo gak salah.
Setelah menunggu sekitar 15 menit sambil aku tidur, akhirnya yang ditunggu tunggu datang.. Eng ing engg..
Acara dibuka dan dilanjut briefing bla bla bla… Karena saat itu aku belum kenal siapa siapa, akhirnya aku disana kaya orang kesasar (kesasar = tersesat). Oke, akhirnya aku masuk ke ruangan penyisihan. Hmm…
Sebelum final, diadain trial selama 10 menitan kalo gak salah, buat nge cek user login, server, komputer, dsb. Setelah itu, pc akan di reboot, sad. Awalnya tadi bikin snippets biar gak ngetik #include
yang berkepanjangan, eehhh… ilang. Yaudah, akhirnya ngetik lagi.
Oke, Final dimulai. Final diadain selama 5 jam dan ada 10 problem. Yang aku baca pertama pasti prob A yang judulnya “Lama Menonton”. Kita dikasih jam Jingga mulai nonton film, durasi film, lama buffer, jangka buffer satu dengan lainnya. Inti problem ini adalah kita disuruh mencari jam berapa Jingga akan selesai nonton film itu. Yang terlintas pertama kali adalah MATH. Akhirnya, aku coding sekitar 15 menit an, aku coba bener. Oke, aku submisi. Dapet RTE, aku coba liat-liat lagi codingan ku, emang ternyata ada yg gak aman, aku ubah dan aku submisi lagi. Dapet WA, hiks. Aku coba cari tricky case nya, masih belum ketemu.
Terus aku liat scoreboard, kok banyak yang ac-in prob I judulnya “Membagi Permen”. Ternyata ini lebih gampang daripada prob A karena ini tinggal di bruteforce dan batasan nilainya rendah. coba coding 7 menitan, coba sample test-case, submisi dan AC. (menurutku ini soal bonus deh… ).
Lalu, aku mulai baca problem mulai dari B - J. Terus ketemu problem F judulnya “Utak Atik Lampu” yang kayanya mudah dan udah banyak yang AC pula. Problem ini suruh kita mencari tahu berapa banyak lampu yang masih menyala jika kita menekan N saklar di hari ke-N. Ide pertama adalah simulasi, karena emang max N-nya cuma 1000. Mulai coding, 10 menit an. Coba sample tc, bener terus aku submisi. Dapet WA, ternyata array yang aku pakai gak aku reset lagi buat case yang kedua (sad, penalty nambah). Oke, mulai aku benerin, Submisi dan masih WA. Masih ngeliatin terus codingan ku dan tiba tiba ada sesuatu yang muncul di otakku yaitu aku mulai lapar (bukan, bukan itu). Ternyata saklar yang dipencet selalu matiin lampu (hmm… if nya dikemanain dari tadi mas?). Oke submisi yang ketiga dan dapet verdict AC.
Karena masih penasaran sama prob A yang “Lama Menonton” tadi, akhirnya aku coba input semua nilai max nya, dan (deng dereng dereng). Memang salah disitu, akhirnya aku coba submisi yang ke 7 kalinya (Iya 7 KALI) . Alhamdulillah, AC.
Oke, baca prob B, oke ini graph (dan aku masih cupu, jadi gak bisa ngejain graph) solusinya officialnya kalo gak salah Dijkstra’s. Prob C kayanya DP, tapi gak yakin juga (graph aja susah, apalagi DP…). Prob D ini aku gak tahu. Prob E ini gak jelas sama sekali. Apalagi prob J.
Tersisa prob G judulnya “Rivalitas” dan H judulnya “Lucky Sequence”. Sebenernya prob G ini termasuk MATH. ini kalo gak salah kombinasi gitu. Tapi yang menjadi masalah adalah cara ngitung faktorialnya bakal bikin TLE dan belum tahu “mod inverse” waktu itu.
Akhirnya, aku coba prob H. Sebenernya aku gak paham sama prob ini awalnya. Terus aku baca lagi sekitar 3x an kalo gak salah. Oke aku paham, yang terlintas di otakku hanyalah simulasi yg pastinya TLE. Gitu tetep aku coba, dan bener dapet TLE. hmm… pusing. Nyoba di otak atik tetep aja TLE. Ada panitia yang ngajak sholat (rencananya sih pengen sholat nanti dulu, tapi kok gak enak).
Habis shalat, masih berbelit dengan prob ini. Aku coba keluar ruangan dan makan kue disana (lumayan). Masuk ke ruangan dan liat scoreboard, hmm.. Sudah kuduga. Kak Sergio udah AC semua.. hiks :’(
Gak disangka, tiba tiba ada ide lewat (tuut.. tuut..). Ternyata ini soal bisa diselesain pake MATH. oke ngoding, dan syukurlah AC.
Berarti tinggal prob G yang belum (sisanya udah nyerah). hmmm.. gak punya ide dan 1 jam terakhir cuma mikirin gimana ac ini problem G ini, dan waktu pun habis.
Semua kontestan, kembali ke ruang pembukaaan tadi, dan ndengerin promosi dll. Yang ditunggu - tunggu pun tiba, pembahasan soal. Wow.. pembahasannya diluar ekspektasi karena cuma hint-nya. Oke, skip. Pengumuman pemenang, aku mah santai dan gak deg deg an (soalnya udah tau kalo gk dapet juara), dan semua sudah tau pasti kak Sergio yang dapet gelar “CHAMPION”. Ini dia scoreboard terakhirku, menyedihkan.
![]() |
---|
Scoreboard Final Unfreeze |
Untuk full scoreboardnya dapat dilihat disini
Setelah penutupan, aku pergi ke tempatku rencana menginap dan kembali ke Sidoarjo besok siang harinya (karena gak ada kereta malam). Sekalian b***s sekolah, hehehe (jangan ditiru).
FACT :
- Rencana awal aku gak dijemput sama supirnya temennya ayahku
- Dari semua peserta di ruanganku, cuma aku yang makan kue kayaknya. (lumayan daripada mubazir dan kuenya enak-enak lagi)
- Aku gak tau kalo
#include
yang bejibun bisa diganti sama one line#include
. - Buku CP3 dijual disana…. WOW.
- Sholat dhuhur gak kusyu’, kepikiran gimana nge-solve problem nya. (berdosa kau nak….)
- Semua problem final BNPCHS 2016 dapat dikerjakan di pandaoj.com