Skip to main content

Panen Bug di Arkavidia 5.0


Aku sampai saat ini belum pernah ke ITB, makanya aku seneng ITB ngadain Arkavidia. Aku ga biasa ngeblog penyisihan. Namun yang ini adalah sesuatu yang cukup menarik.

Arkavidia (Arkav) ada bidang CP, dan tentu saja aku itu. Aku ngiranya masih perorangan jadi aku santuy banget daftarnya. Baru niat daftar di penghujung waktu pendaftaran dan ternyata lombanya bertim!

Sudah kuduga, temen-temenku sudah ngeteam semua. Aku hanya bisa merekrut Glenda. Terbentuklah tim kami yang hanya 2 orang. Nama timnya "Klepon" karena suatu kejadian di lorong B fasilkom. Kami latihan mulai H-7 lomba pake hangout.

Hari-H lomba, kami udah janjian untuk ngerjain di Pop! hotels sawah besar. Aku cek maps dan suggestinya butuh 2 jam. Aku berangkat jam 7 naik kereta, dengan harapan nyampe jam 9, lalu ngengojek kira-kira set 10 nyampe lah. Taunya jam 8 dah sampai, gojeknya juga cuma beberapa detik :/. Set 9 sudah sampai aku, aku ngambis dulu.

Glenda sampai jam 9, sambil nunggu kami ngomongin TO UI Paguyuban masing-masing. Tidak lupa aku pamer dapat rank 3 nasional tahun lalu, walaupun nilai fisika -1.  Semester 3 nanti bakal dihajar sih, RIP fisdas. proof :"v

Aku juga sarapan popmie beli disana. 10 rb :O

===Kontes mulai

Efek berdua, 10 soal terasa banyak banget. Aku langsung baca E pertama. Hoki nemu soal yang kelihatannya mudah. Sudah pengalaman, aku cek constraints dan ini bisa di BF. Yowes aku koding bf.

Infinite loop? Nani?

Aku coba cetak-cetak, dan ternyata kodeku tidak bisa baca bilangan negatif??!!

Aku debug-debug sejam bersama Glenda, dan ini udah bener-bener mentah kodenya. Tes di ideone juga sama-sama salah. WTF? apakah cin di update sehingga gabisa baca bilangan negatif?

Iseng, aku coba ganti inputnya jadi positif, bener aja, inputnya bisa dibaca. Aku lalu coba masukkin lagi tanda negatifnya. eh? kok tandanya lebih pendek? :" Astagadragon, ternyata tanda '-' yang dipake di pdfnya itu bukan tanda negatif, melainkan suatu unicode. 50 menit akhirnya soal E ini ac. Walaupun first AC, tapi udah ngedown parah. Daritadi aku gaada masukkin input manual, cuma copas dari soal -> testing pake redirection.

Terlihat scoreboard banyak AC F, jadi Glenda ngerjain itu. Aku liat B udah ada yang AC jadi aku kerjain itu. yang B ini observasinya panjang string cuma mungkin (banyak_factor_terkecil) jadi bisa di bruteforce.

Ada dilemma lagi. Dia minta apabila gaada jawaban cetak '−' (strip). Aku kira ini maksudnya bukan tanda negatif '-' yaudah aku copas aja dari desc soal. Aku submit dan WA. Waduh, aku kira bruteforceku ngebug lagi. Terus aku coba nekat ganti jadi '-', dan AC -_-".

Apakah cuma aku doang yang punya masalah dengan strip-strip ini?

Nah terus aku baca soal G, ah nemu soal mat. Aku oper ke Glenda, terus aku lanjutin kodingan Fnya. Aku beberapa kali salah ngertiin soal.

- Pertama kirain harus maksimum, ganti dp knapsacknya max jadi min.
- terus kirain tiap barang diambilnya sekali doang, ganti total dp knapsack jadi coin change

baru ga salah ngertiin lagi. AC juga setelah setengah jam berpusing ria.

Aku pingin ngamok! ratusan kontes telah aku ikutin dan terakhir kali aku se-stress ini itu kontes pertamaku. Aku izin ke toilet sebentar untuk meditasi.

Yah ternyata meditasi masih munjur. Setelah tenang kembali, aku baca H, langsung kepikiran solusinya. Ini mirip soal klasik yang "banyaknya angka 0 dibelakang X!". Yaudah aku koding aja. WA. Ternyata aku ada beberapa variabel yang int. Oke aku ganti, WA! Terakhir aku baru sadar kalau jawaban maksimumnya bisa 10^18 sedangkan aku anggep jawabannya paling banyak log(A). Goblok :"(. Submit dan AC.

Orang: "Ini pendaftaran [sebuah event] itu ya?"

Nemu beberapa orang ac soal C, aku baca deh. Ah ternyata idenya mirip soal SPOJ DRTREE. Yaudah aku koding, copas library LCA dari cheatsheet. Testing, dan WA. Mulai bingung. Ini LCAku kodingan library kok, gamungkin salah. Debugging berlangsung selama kurang lebih 2 jam. Dan ga ketemu. Glenda AC soal G pake math-math gitu. Lalu aku oper soal C ke Glenda.  Dia bisa baca kodeku.

Aku baca soal I, bau greedy tapi sepertinya butuh casework. Coba nekat koding greedy ambil dari belakang + caseworknya dengan sisa sejam. Baru sadar 10 menit terakhir kalau bisa ada percabangan, gasempet koding DP, soal I kutinggal.

10 menit terakhir gabung kekuatan debug C, dan... ga ketemu.

=== kontes selesai.

Ini kontes real pertamaku setelah ICPC Nakhon Pathom. Tampaknya skill debuggingku berkurang karena sudah terbiasa ada Kak Norman mahasakti. Aku dapat pelajaran bahwa debugging itu skill yang penting dan gaada "bagi tugas" dalam debugging.

Tapi soalnya berkualitas :). Aku sudah download-download dan akan aku upsolve weekend ini, maklum magang.

Kami masuk 20 besar, tapi galolos karena hanya 4 besar tiap univ. Ah, sepertinya ITB harus menunggu lain waktu.

"jadi ini rasanya rebutan kuota OSN di sekolah kuat" - Kak Fairuzi

Ngerjain di pop ini karena Glenda ada urusan dengan temannya yang datang Tengah-tengah kontes. Awalnya aku pikir bakal ganggu konsentrasi, tapi ternyata Meyvie ga ngomong samsek sampai kontesnya berakhir dan cuma ngelive kami ngerjain soalnya (yang aku tidak sadari).

Selesai kontes, aku diajakkin Glenda dan temennya mencari makan. Kami pergi ke pasar modern dalam bangunan dan memutuskan untuk makan ke warung terdekat. Dengan harga yang fantastis (30k+), sebagai *uhuk* anak kos, aku membawa tumbler dan memesan ayam kremes (termurah).

Semua memesan ayam kremes ternyata xD. Selesai makan, aku kembali ke stasiun dan berpisah dengan Glenda.

Aku malamnya nonton HTTYD 3. Aku suka banget yang pertama dan kedua. Tapi selesai nonton aku kecewa. Intinya makin lama musuhnya makin pinter. Gitu aja :". Oh ternyata Glenda juga ke Mall, ke GI :O.

Habis nonton aku ngerush ke kosan karena mau CF. Aku sampai di kosan 8 menit sebelum CF. Dengan bau badan hasil akumulasi seharian diluar, aku ngeCF.


Tak kusangka targetku, #2019GantiWarna, tercapai begitu cepat.

Comments

  1. Aku cuma numpang baca soalnya dipaksa baca sama Fausta tentang "Top 10 Pranks that Went too Far" yang juga kena ke dia :(

    ReplyDelete

Post a Comment

Popular posts from this blog

Intern Semester 1: AI Engineer di GDP Labs

Intern atau magang, suatu kegiatan untuk merasakan suasana kantor. Daripada tidur-tiduran ngewibu gajelas selama sebulan, lebih baik ngoding 8 jam sehari di kantor kan?
Pertama tahu GDP Labs dari lomba BNPCHS 2017. Waktu penutupan, Pak On Lee, CEO GDP Labs, bawa seminar. Terus kan di akhir acara aku kenalan dan dikasih kartu nama :D
Aku awalnya berminat mau magang semester 2, namun temenku Rania semester 0 udah magang di GDP Labs. Aku jadinya daftar magang winter sebagai AI Engineer dan keterima :) Aku ditaro di bagian GLAIR (GDP Labs Artificial Intelligence Research).
Bagian-bagian dari blog ini: - Tentang GDP Labs - Kosa Kata Machine Learning - Onboarding (19 Desember 2018) - Minggu Pertama (26 - 28 Desember 2018) - Minggu Kedua (2 - 4 Januari 2018) - Minggu Ketiga (7 - 11 Januari 2018) - Minggu Keempat (14 - 18 Januari 2018) - Minggu Kelima (21 - 25 Januari 2018) - Minggu Keenam (28 - 31 Januari 2018)
- Penutup
Iklan Sejenak Tentang GDP Labs
GDP Labs itu bagian dari GDP Venture. GDP…

Mengikuti ICPC 2018

ah, ICPC. Singkatan dari International Collegiate Programming Contest. Perlombaan paling bergengsi untuk anak kuliahan. UI sendiri cukup aktif mengikuti perlombaan ini. Aku sebagai Maba dapat kesempatan untuk mengikuti lomba ini dan dapat keluar negeri juga. hehe. Berikut cerita ICPCku tahun ini. Selamat menikmati.

Pembentukan Tim


Di UI ada seleksi untuk pembentukan tim ICPC yang nantinya akan mewakili UI ke regional yang ke luar negeri. Seleksi ini dibuka untuk seluruh UI, kating-kating sampai maba boleh daftar, bahkan untuk non fasilkom pun boleh (Pak Denny bilang pernah ada anak FMIPA lolos :O).

Seleksi ini cukup singkat. Ada 3 kontes. 2 kontes pendek dan 1 kontes panjang.

Kontes pendek itu durasinya 2.5 jam dan ngerjain di lab. Dapet poin berdasarkan ranknya yaitu max(18-rank,2). Kontesnya di Vjudge.

Kontes panjang itu durasinya 1 minggu dan dapet poin cuma berdasarkan jumlah solve. kontesnya dari selasa - selasa depannya.

Ini aku ada kendala di laptop. Jadi laptopku saat itu (ROG…

Teknik Rekursi untuk Menjawab Soal di Kertas

Teknik rekursi buat OSP OSP kurang dari seminggu lagi dan dengan semakin seringnya muncul soal tipe ini,ingin  mencoba membahasnya. Kata orang kalau kita ngajarin orang lain jadi tambah ngerti maka jadilah post ini :v

(untuk alasan lupa dan kurangnya niat mencari soal asli, beberapa soal di post ini mungkin memiliki deskripsi berbeda dengan soal aslinya) pendahuluan

“banyaknya string biner dengan panjang 8 dimana tidak ada 2 angka 1 yang berdampingan adalah?”

saat membaca  soal ini, mungkin kita akan nyoba pake inklusi ekslusi yaitu banyaknya semua kemungkinan – banyaknya kemungkinan 2 angka 1 dempet + banyaknya kemungkinan 3 angka 1 dempet -… tp kasus banyak bakal mabok. Trus nyoba kuli aja, kelamaan. Jadi disini solusi yang tepat adalah menggunakan rekursi.

Misal F(n) banyaknya string yang memenuhi syarat tersebut dengan panjang n. Misal kita punya F(n) dan F(n-1), maka kita bisa mendapat F(n+1) sebagai berikut: Karena F(n) tidak mungkin memiliki 2 angka 1 yang berdampingan, maka didepan …