Selasa, 13 Juni 2017

How I Came Up With My CP Problems

Terkadang, pas baca-baca soal yang pernah kubuat, aku mikir

A: "hmm dulu aku kok bisa came up sama soal ini ya?"
A: "...."
A: "duh udah mulai tua"

Well anyway, mungkin menarik kalau nulis saat-saat dapat ide buat soal sama sumbernya (?) Anyway, soalku (selain Pusat Air) bisa dilihat di githubku, bisa klik ini kalau mau lihat. Soal di bawah ini terurut berdasarkan kapan aku dapet idenya. Anyway, here you go:

  1. Pohon Kelereng. Entah gimana caranya bisa salah ngerti soal ini, terus jadinya si Pohon Kelereng ini. Awalnya cuma bisa "turn on", terus di akhir jadi "toggle".
  2. Wisata Kucing Garing. Gatau, dapet aja tiba-tiba. Gampang gitu
  3. Road to Hero. Baru aja belajar cari maximum average pake binary search. Terus mikir apa yang bisa digituin lagi, kebayang DAG. Jadi deh.
  4. Domino. Pas mau mikir soal CompFest, mikir "berapa minimal 2 pangkat yang perlu ditambahin biar suatu bilangan jadi 2 pangkat?". Terus pas mau TOC baru nyadar kalo ini sebenernya mirip iterasi BIT. Alam bawah sadar (?)
  5. Rammeow. Lagi mikir terkait subarray yang isinya beda semua, terus "oh jadiin query aja gimana?". Btw, pas TOC gak ada yang AC dengan solusi intended yang lebih simple :P
  6. Friend-Score. Lupa kenapa kebayang soal ini deh :/
  7. String Seimbang. Lupa juga :/ AAA MALU SOALNYA KLASIK
  8. Ramduel. Lagi panggilan alam. Biar produktivitas++ nyoba mikir soal. Terus "Hmm kalo soal terkait LCS gitu gimana ya?". Terus dapet soal ini, keluar kamar mandi langsung solved
  9. Pusat Air. Ini gak kumasukin githubku karena suatu alasan. Dapet pas lagi mikir max-flow sama tree secara bersamaan.
  10. Belajar FPB. Awalnya mikir versi lebih sulit, gak solve. Terus kebayang soal ini. Btw, soal ini ngalamin sekitar 4-5 improvement dari versi awalnya.
  11. Huruf Ajaib. Awalnya mikir versi simple yang solusinya linier tapi mirip. Terus pas di kantin mau beli makan mikir, "gimana kalo stringnya diconcat terus ya?". Maaf ribet :"
  12. Cerdas Cermat Cepat-cepatan. Udah setuju mau kontribusi di TOC, tapi belom dapet soal. Pas lagi baca buku Anum buat ngerjain PR, baca faktorisasi QR. Terus keinget pohon faktor. Terus kebayang soal ini. PS: Maaf accepted rate-nya kecil parah untuk soal ini :"
  13. Teman Terbaik. Di pagi hari, aku mau narik uang di ATM. Ada 3 mesin. Aku ambil yang paling kanan. Sebut aja nomor 1. Habis aku mulai pake mesinnya, ada ibu-ibu pake paling kiri, sebut aja nomor 3. Ibu-ibunya keluar, punyaku masih belom ngeluarin duit. Transaksinya gagal. Misuh, pindah ATM. Terus udah. Short story: sample itu mendekati kejadian ini.
  14. Teka-teki Cak Lontong. TOC Mei kurang soal paling mudah. Terus karena salah satu problemsetternya Prabowo yang suka joke kayak ginian, aku jadi dapet soal ini. Aku sendiri kesel sama joke ini btw wkwk :<
Semoga aja list ini bisa terus bertambah (?)

Krazy Term, Krazy Break

Ini post isinya rant, jadi di-skip bisa aja dampaknya malah positif :>

Yay semester 4 sudah berlalu. Have to say that this term is


Well, mungkin seharusnya tidak.

Pas awal libur semester ganjil, awal-awal magang gitu, aku mikirnya semester 4, kesibukan bakalan:

  • Pelatnas (belum bisa lari dari ini)
  • CPC CompFest
  • Asdos TKTPL (matkul CP di Fasilkom)
  • Ristek SIG CP (though akhirnya jadi wakil gabut h3h3)
  • Kuliah
 Terus pas magang, gak ada angin, gak ada ujan, mau stand-up meeting, mendadak dapet kabar kalo lolos WF :O  Jadinya kesibukan yang ada ditambah hal-hal terkait WF, kayak latihan sama pergi WF-nya. Tapi percaya deh, tidak WF dan WF itu beda alokasi waktunya lumayan :<

Udah, pas itu udah mulai nyerah kuliah. Btw, ngambil kuliah sebelum tau lolos WF, ngambil 5 matkul, total 19 SKS. Untung gak ngambil lebih dari itu.
19 aja udah mati. M A T I. Kalau target sebelumnya dapet nilai bagus biar papa-mama bangga, ini targetnya "Jangan ngulang plis jangan ngulang". Intinya:

  • Pra-UTS: PR PR PR PR PR
  • UTS: "Wait, we learn these stuff before?"
  • Pra-WF: PR PR PR PR PR
  • WF: 
    • "Udah ah bodo sama PR"
    • "Di Korea harus nyicil belajar matkul X!"
    • Kenyataannya, pas pulang, transit 22 jam di Korea tidak nyicil belajar. Malah mencoba gacha lokal
  • UAS: 
    • "Harusnya kemaren ngerjain PR"
    • Susulan 2 UAS. Note: sangat tidak disarankan ujian susulan karena sekre bising 
Tiap ujian:



Btw, seinget aku dulu sebelum segala kesibukan ini ada wacana sama Ammar dan Kipet buat ke timezone tiap kamis. Pada akhirnya, manusia memang hanya bisa berencana.

Terus kemarin nilai di SIAK udah keluar. Alhamdulillah sama hasilnya deh :""

Anyway, sekarang udah libur. Kayak tahun lalu, summer break gini aku gak intern (lagi). Banyak yang harus dikerjain:

  • CPC CompFest. Kayaknya ini harus ada orang yang emang siap diperbudak tiap tahunnya :<
  • OSN. Yay ngurus OSN dan harusnya bisa ke OSN \ :v /
  • Pelatnas 4. Untungnya volunteer dari UI gak aku doang :3
Terus mamaku bilang supaya pulang. Sadisnya, ini schedulenya itu kejam buat orang yang tiap selesai event gitu pulang:

  • 8 Juni - 1 Juli di rumah (oke lah lama)
  • 2 Juli - 8 Juli OSN (sep)
  • 9 Juli - 13 Juli di rumah (wut :")
  • 14 Juli - 28 Juli P4 di UI (okay)
  • 29 Juli - 10 Agustus di rumah (2 minggu :<)
  • 11 Agustus - ??? di Depok, CPC, biar ngontrolnya gak ribet ngumpul semua
  • Sisanya idk enaknya gimana
Pengen lebih banyak leha-leha di rumah :< krazy dah ini.

Udah deh kayaknya rant-nya ini aja hehe. Mungkin mulai semester depan mau kurang-kurangin ngurusin apa-apa, mau ngurus diri sendiri dulu.

Sayonara!

Minggu, 04 Juni 2017

Kontemplasi + Nostalgia CPC (?)

Akhir-akhir ini, entah kenapa sering mikir "kok dulu aku bisa ... ya?" Kayak beberapa contohnya:

  • Kok dulu bisa IOI ya?
  • Kok dulu bisa pacaran ya?
  • Kok dulu bisa ngerjain soal kayak gitu ya?
  • Njir dulu bisa kepikiran soal kayak gitu ya?
Ya sejenis gitu lah. Yang "Kok dulu bisa IOI ya?" pasti ada yang bilang "dulu lu gak banyak makan micin Yaz". Terus aku palingan besok mikir "Kok bisa WF ya?"

Oh, By the way perjalanan WF kemaren sangat memorable buatku, that I have to blog it this summer break >.< Timku (aku, Zamil, Rakina) rank 32, raw rank-nya 45 sih. Kemaren mungkin bisa AC 6 kalo aku masih bisa percaya sama Zamil sama bisa ngoding Z-algorithm :" Maafkan aku kawan-kawan hiks.

Oh btw, pengen nostalgia (gak tau ini term-nya tepat atau nggak) tentang CPC CompFest. Bentar lagi pendaftaran CPC CompFest 9 tutup. Terus gara-gara itu jadi keinget pas masih CompFest 8 dulu.

Tahun lalu pas libur summer, orang lain pada magang, aku balik ke Bontang, nyiapin Pelatnas 4 sama CPC. Pas minggu Lebaran, nyiapin 50++ soal-soal latihan dasar buat Coder Class. Pas Coder Class udah mulai, tiap minggu nyusun soal mingguannya (sendirian), terus tiap hari selasa, yang malamnya udah harus ngasih pembahasan, pasti buru-buru nyiapin pembahasan. Tiap minggu pasti mikir "duh harusnya jangan deadliner", tapi tetep aja deadliner. Hehe. Capek? Lumayan.

Pas liburan juga sering ngelamun, jalan keliling rumah, nyari ide buat soal. Kadang diskusi sama yang lain juga via chat. Terus sering ngejar-ngejar orang lewat chat buat keep track progress soal juga. Kadang malah kerjaan sendiri nambah karena yang lain sibuk. Jam tidur gak beres, malam bangun siang tidur. Untungnya lagi liburan.

Malam sebelum penyisihan, tidur larut parah demi testing sama benerin soal sampai bener sebener-benernya, walaupun tetep saja manusia tempatnya salah :( Tapi ya, lumayan terbayar pas ngeliat penyisihan yang lumayan menarik.

Seminggu sebelum final, gak tenang. Beberapa soal masih pada nggak beres. Tiap hari mikirin + ngerjain kerjaan CPC sambil nyambi kuliah. Malam sebelum final, panitia CPC semua nginep di Fasilkom, ngurusin soal semua. Lewat tengah malam, niatnya pada tidur pake shift, biar tetep ada yang ngerjain sesuatu. Tapi ujung-ujungnya pada ketiduran. Aku sendiri gak bisa tidur, was-was parah.

Pas final, karena kurang orang, jadinya aku sendirian ngawasin submission + klarifikasi JCPC sama SCPC. Sumpah, pengen banget bisa kagebunshin. Rasanya kepala overheat. But the contest must go on. Ujung-ujungnya, gak nafsu makan, terus baru tidur pas Awarding Night. Pas Awarding Night tidur-bangun-tidur-bangun gitu. Pas pulang, hujan, mengungsi ke Ristek. Terus pas nutup mata di Ristek aja tau-tau ketiduran.

Well, kenapa aku ngelakuin semua itu?

Secara pribadi, aku sendiri pengen bisa membuat kontes yang berkualitas baik. Kontes yang soalnya menarik, dilaksanakan dengan baik. Selain itu, aku juga pengen habis CPC ini, pesertanya bisa mendapatkan sesuatu yang baru, baik ilmu, pengalaman atau lainnya.

Apakah udah tercapai? Entahlah, hanya peserta yang bisa ngasih tahu hehe :( Kalau kemaren ada kesel sama CPC mohon maafkan kami :'(

Well, semoga tahun ini CPC CompFest 9 bisa lebih baik dari CPC sebelum-sebelumnya :")

Mungkin segini aja sih blog-nya, aku masih harus susulan UAS 2 matkul, ketika teman seangkatan udah pada liburan :'( Besok susulan Basis Data, wish me luck.

Senin, 01 Mei 2017

TOKI Open Contest April 2017

Blog berdebu ya..

*Belum ngeblog ICPC sinting Yangon*
*Belum ngeblog banyak hal*
*Belum mikir soal CPC lagi*

Yah anyway, sekitar 3 minggu yang lalu ada TOC April Mop. Biasanya aku demen kontes ngawur kayak ginian, tapi kebetulan gak bisa ikut karena Sabtu pas kontesnya ke Jogja buat Vocomfest :" Tapi penasaran sama soalnya. Jadinya yaudah, nanya Ammar bisa jadi tester apa nggak, terus dibolehin :P

Tepat seminggu sebelum kontes Ammar ngajak pingpong di Pacil. Yowes, pingpong. Cuma aku baru main bentar aja udah capek :( Habis itu duduk-duduk. Daripada nganggur, aku bilang "mending ngetes TOC deh". Terus yaudah, habis gitu sambil Ammar masuk-masukin soalnya, aku ngetes.

WARNING!

Kalau masih pengen nyoba soalnya, sangat tidak dianjurkan membaca melewati peringatan ini.


Soal yang pertama Ammar masukin Genap Ganjil. Pas baca: "Ah ini RTE-nya pasti masalah underflow atau overflow". Terus aku pikir cin kalo baca input yang jebol bakalan overflow seperti layaknya overflow pas operasi aritmetika. Jadinya handling WA-nya dengan asumsi itu.

I HAVE NEVER BEEN SO WRONG

Wrong Answer terus mampus. Sampai akhirnya aku nyoba lihat behaviournya. Ternyata kalau overflow bakalan dibikin jadi INT_MAX, kalo underflow jadi kebalikannya. Cool stuff C++ :O Kira-kira 20 menitan buat ginian :s

Lanjutnya yang keluar Kuku Kuku Kaki Kaki Kakak Kakak Kakek Kakekku Kok Kaku Kaku. Gak butuh waktu lama untuk nyadar kalo query kata apa yang ngandung huruf k ke-k2.

Lanjutya soal L. Sebelum ngetes, Ammar ada nanya karakter di Death Note yang hurufnya satu doang. Yang kuinget N, terus gak inget Mello itu disingkat juga apa nggak. Terus keluar soal ini. Di soal kan deskripsinya bahasanya ngawur. Ngecek, oh, bahasa Romania. Habis translate, keluarnya cara pakai Death Note. Habis itu kirain ini kayak recon CTF, jadinya nyari "L 50 Death Note." Yang keluar malah beginian:


As you noticed, itu videonya kutonton bentar :" Terus aku nyoba-nyoba hurufnya, ternyata di testcase gak ada "N" :/ Baca tentang L, ada bilang beratnya 50 kg. Yakalik pake berat badan ~_~ Terus nyasar ke Aturan Death Note. Scroll, terus mikir:

"Ini aturan berapa ya?"
"LI, 51"
"...."
"goblok"

Baru nyadar kenapa deskripsinya pake bahasa Romania -_- habis gitu ngetes lagi AC.

Habis itu aku baca soal yang Jangan Jijik. Langsung eneg. Kukira karena tahun sebelumnya ada soal yang agak serius (pake hash gitu), jadinya sekarang ada soal serius lagi. Terus ku-skip, sambil bilang "jijik Mar"

Terus soal Haki!. Awalnya bingung gitu kenapa pake karakter yang gak biasa, terus aku takutnya kalo gak bisa dibaca pake C++ atau Pascal. Tapi ya belom kebayang solusinya, awalnya cuma mikir 4 itu ngeliat sample 4 ada 4 karakter  ░.

Terus Ammar ada soal, yang kami tes ternyata brute forcenya kegampangan. Daripada soal itu yang keluar, aku suggest kalo bikin soal yang harus liat verdict dari juri kalo mau ngerjain. Jadinya ya, soalnya jadi soal Impossible. Terus aku bingung gitu kenapa cuma boleh Pascal.

Ayaz: "Ini napa cuma boleh Pascal?"
Ammar: "Biar gak bisa isProbablePrime Java"
Cerdas kamu Mar.

Habis gitu balik ke Jangan Jijik, percakapannya:

Ayaz: "Ini kalo soal serius aku gak mau ngerjain deh"
Ammar: "Yaudah, coba aja kamu liat submissionku"

Terus aku liat submissionnya, cuma print sample doang.


Ammar terus nyuruh buat baca soal lebih teliti. Baru nyadar kalau ada kalimat "Oh ya, percobaan-percobaan tersebut dapat dilihat pada contoh masukan dan keluaran di bawah ini" --" Habis itu, dia bilang kalau sample itu contoh perpotongan yang bisa dia temuin di internet :") Pas aku ngetes soalnya, masih belum ada cek jawaban pake scorer. Terus aku bilang kalo scorer tetep perlu, yaudah terus ditambahin. Pengennya kemaren bikin statement itu semakin di tengah paragraf, tapi ternyata pas kontesnya juga gak ada yang dapet tanpa perlu begitu :") 

Balik ke soal Haki, aku nyoba ngitung karakter hitamnya. Ternyata ada pas 439 :O Habis gitu nyoba ke sample 2 juga gitu. Baru di sample 3 nggak. Ngeliat karakter abu-abunya. Oh, jadi kayak connected component terpisah gitu. Dari situ dapet kalau cari maksimum hitam di suatu connected component. Lama sih baru dapetnya. Habis gitu aku coba read karakter aneh itu, ternyata satu karakter itu jadi 3 integer :O Yang penting bisa dibaca deh.

Habis itu ngerjain soal Melantunkan Musik. Oh, kayak pantun. Palingan juga cuma nyari karakter terakhir yang munculnya ganjil kali. Eh bener ._. Habis gitu aku nyoba ngetes pake karakter selain huruf kecil. Masih AC. Jadinya minta benerin scorer hehe.

Terus untuk soal terakhir, Nyan Nyan Nyan belum siap, katanya Ammar karena TLX gak support gif. Yaudah, jadinya testingnya nanti dulu.

Habis gitu aku coba ngoding python buat Haki. Terus RTE. Anehnya baca input aja RTE :/ Terus aku lapor Ammar. Habis gitu, aku nyoba juga di soal L pake python. Kadang RTE kadang nggak ._. aneh pisan. Jadinya dicoba diinvestigasi.

Pas pulang, Ammar minta cari lagu wibu buat dipasang di sample. Yaudah aku coba cari. Pertama potongan lagunya Aqours, "Omoi yo Hitotsu ni Nare":

chikadzuitari hanaretari datta ne
umaku ikanakute zutto
tsutaerarenai koto ga atta yo
majime na kao shite

 Di-reject karena polanya "abba", Ammar maunya "abab" atau "aabb". Damn :( Habis gitu dapet potongan lagu dari Gurren Lagann, "Sora-iro Days":

Sugita kisetsu wo nageku hima ha nai
Nido to mayotte shimawanu you ni
Kazoekirenai hon no sasayaka na
Sonna koukai kakaeta mama

Terus karena animenya manly, disaranin cari lagi. Yasudah deh. Akhirnya dapet dari Aqours, potongan "Sky Journey":

yume kanaetai kara itsudemo
akiramenai koto ga daiji da to
naze honki de katareru no darou
yuuki ga tsutawareba daijoubu

Di-approve, pasang di sample terakhir. Tapi kayaknya gak ada yang sadar :P

Nah terus soal Nyan itu udah ada, tapi belom berjalan sesuai keinginan Ammar. Tapi yaudah, aku tetep nyoba. Descnya pas itu: "Find the lost cat first!". Ngeliat nama asset kucing-kucing itu via inspect element, mikir "paling nama filenya juga 404.gif". Ternyata ada. Hehe.

Berapa hari setelahnya, Ammar bilang Nyan udah siap. Sekarang descnya: "Find the lost compressed-cat first!". Yaudah, artinya 404.zip. Nah pas itu aku buka dari HP. Pas extract di HP, gif-nya gak jalan :( Habis itu aku buka laptop terus extract. Oh, gifnya jalan :P Tapi kayak gif biasa gitu. Sambil buka gifnya aku juga buka terminal, terus nyoba strings lah, binwalk lah, buka pake gedit lah, gak ada yang aneh. Terus tau-tau ada frame yang rasanya off. Jadinya aku buka https://ezgif.com/split, terus masukin gifnya. Dapet frame yang aneh itu



Heleh QR-Code. Buka QR scanner di HP, terus bacanya "open nyan.cat for 9001 seconds!". Enak aja. Jadinya cari terkait itu, terus ternyata ada achievementnya. Masukin achievementnya, AC. Niat juga ini. Terus ternyata 404.gif itu masih ada di soal, kata Ammar biar jadi "Red Herring", padahal karena TLX gak bisa delete, bisanya revert. Terus jadi penasaran, ini Ammar obsesi over 9000 atau apaan.

Terus dapet laporan kalo python-nya masih belom tau kenapa. Yaudah, jadi diskusi, enaknya bolehin pake python atau nggak. Ujung-ujungnya bolehin, tapi dikasih warning gede di announcement :v

Pas kontesnya aku masih ngadem di Amplas (Ini correct spelling singkatan Ambarukmo Plaza atau bukan?._.), terus minta Ammar kayak live commentary di chat. Sayang gak bisa ngikutin full :s Kayaknya menarik :s

Oh dan anyway, congrats untuk para pemenang! Selera humor kalian kayaknya kompatibel sama sejenis aku sama Ammar :P

Mungkin postnya ini dulu deh hehe, ngeblog lagi mungkin nanti pas liburan.

Pengen cepet libur :"(

Trivia yang tidak ada hubungannya dengan konten di atas:

  • Pas ngetes, Ammar iseng bikin kayak markdown gitu di chat FB. And holy shit it works!
  • Terus kami ngetes pake status pake akunku. Awalnya set visible to-nya diri sendiri doang. Terus gak bisa
  • Terus ngeshare isengnya Ammar tadi via status. Sudah lama gitu, baru sadar visibility-nya masih buat diri sendiri doang. Aku emang cerdas.

Selasa, 20 Desember 2016

ICPC Regional Jakarta 2016

Jadi beberapa waktu yang lalu (sebulan lel) aku ikut ICPC Regional Jakarta, dan karena pengen nulis, serta biar gak jadi wacana, aku tulis sekarang aja wkwk. Kemaren aku ikut sebagai tim Awrakin, dan Alhamdulillah bisa dapet peringkat 5 serta predikat Best National Team. Rada kaget sih huehue

Awrakin

Tim ini anggotanya aku, Zamil, sama Rakina. Namanya udah tau kan ya plesetan dari mana (code qlean semua suci aku penuh bug). Ini tim rada ga jelas sih, soalnya:

  •  Aku selalu ngejek Rakina. Contoh: "Kin, kok fotomu yang di nametag Gemastik gak ada jerawatnya?"
  • Rakina kerjanya mukul sama nendang aku. Koleksi luka luar tambah banyak semenjak kontes sama Rakina
  • Zamil kayak sudah pasrah sama keadaan ini
Kami udah pernah ikut 2 lomba sih sebelumnya, INC (peringkat 2) dan Gemastik bidang pemrograman (peringkat 3) dengan nama Ristek - Kuikutsaja. Tim ini, entah karena sibuk atau apa, hampir nggak pernah latian :'( Sekalinya latian malah rada fail :''' Cheatsheet juga kami asal aja, jadinya pakai punya Terharu :') dengan sedikit modifikasi :') Strategi nggak ada yang khusus, paling yang sering dibilang:

  • Kalo ada soal query kasih ke Ayaz

H-1

Harusnya kan hari sabtu ada practice session. Jum'at malam, aku baru inget kalo gak nyuci, bisa-bisa aku kehabisan baju dalam. Padahal biasanya nyuci hari sabtu atau minggu. Yaudah, jadinya malam-malam aku nyuci walaupun tepar parah. Terus kan hari itu ada demo, dan malamnya ada kerusuhan. Kupikir paling besok udah beres. Jadinya jam 10 aku tidur..
.
.
Dan terbangun esok harinya untuk mendapati akibat kerusuhan, kegiatannya dipadatin di hari Minggu. Kenapa masalah di Indonesia gak selesai-selesai sih hiks.
Jadinya hari Sabtu aku nonton anime sama ada nge-gym di CF sendirian. Hasilnya gak jelek, cuma aku sadar kalo aku tambah retard. Ngoding modular exponentiation udah ngebug. Malamnya aku tidur agak malam gara-gara keasikan baca :') RIP kontes besok.

Contest Day

Paginya aku bangun agak telat dari yang aku harapkan :' Untungnya gak telat buat ngumpul sih. Jam 6:15, naik bikun, pas belokan FIB bikunnya kayak mau keguling, terus sekalian "ngambilin" orang-orang yang telat. Nah, pas di perjalanan jadinya aku kayak yang tanggung jawab buat perjalanan itu.

Tapi kayaknya ini keputusan yang salah, karena aku bikin nyasar dengan salah nunjuk belokan di peta :'( Alhasil nyampenya jadi sedikit telat, maafkan aku kawan-kawan :'( Ini bukan cara yang baik untuk mengawali pagi. Entah kenapa dari tahun lalu aku selalu kecapekan sebelum tanding pas hari-H :'(

Sampai di Binus, langsung registrasi terus ambil baju sama nametag. Pas ketemu orang-orang, kayaknya pada ngetawain rambutku. Apa salahnya botak!? Botak itu adem parah dan potong laginya butuh waktu lama! #abaikan Habis ganti baju, escortnya ngajakin sarapan dulu, biar fotonya nanti. Aku sendiri walaupun ikut ke tempat makannya cuma ngambil minum, gara-gara udah sarapan sebelum berangkat. Kayak tahun sebelumnya, sarapan ini jadi tempat ngobrol sama ngegosip bareng sahabat-sahabat dari univ lain, sekalian foto-foto.

Lanjutan dari TOKI UI Welcoming Party
Credits: ICPC Regional Jakarta 2016

Udah gak terbang-terbang photoshop lagi :')
Credits: ICPC Regional Jakarta 2016

Selesai sarapan, kami lalu ke tempat fotonya. Untung gaya yang dipropose Rakina gak senajis gaya pas welcoming party.

Normal enough
Credits: ICPC Regional Jakarta 2016

Habis foto, kami masuk ke auditorium buat pembukaan. Selama beberapa lama pas pembukaan aku justru main sih :P Gak terlalu merhatiin pembukaan lel. Habis pembukaan, ada practice session. Kan practice session itu buat ngetes environment dll. Terus entah kenapa, yang bisa ngetik cepet sekarang cuma aku (idk Rakina Zamil kayak kurang pas sama keyboardnya). Practice sessionnya juga kebanyakan ketawa-ketawa doang, mostly aku ngetawain Rakina Zamil ngebug :v yang penting udah tes TL dan ini itu deh.

Selesai practice session, kami dapet makan siang. Kali ini aku nyomot sedikit makanan biar gak kelaparan. Habis itu kami yang muslim sholat. Disini dilema : Dijamak apa nggak? Akhirnya aku gak ngejamak, biar nanti ada waktu dimana aku bisa jalan-jalan keluar cari udara segar. Kadang kalo lagi ngerjain soal atau bikin soal aku juga sering gitu soalnya: jalan-jalan, kosongin pikiran, biar fresh lagi buat mikir, dan seringnya efektif.

Anyway, setelahnya persiapan buat kontes. Kami masuk ke ruangan masing-masing. Kebetulan, kami seruangan sama TeamTam (Agus+Rais+mas-mas Malaysia). Yang enak, kami duduk di paling belakang, dan tim sebelah kami gak datang. Jadinya aku tanpa dosa sering jalan-jalan di belakang. Lagi-lagi, kalo penasaran, ini kebiasaanku di rumah, mikir sambil jalan-jalan keliling rumah (aku gak bisa diem). Terus ada yang lucu, jadi kan nama tim kami Awrakin. Terus di amplop yang isinya cheatsheet tim kami, orangnya itu keliatan banget salah nulis, Awka Awrakin. Sayang gak difoto :(

Lalu, kontes pun dimulai! Karena ICPC Jakarta biasanya taruh soal bonus di A, jadilah aku baca A. So far so good, sampe akhirnya baca:


To punish teams who did not read this problem statement carefully, we'll add one trick input: if the input is 04-05-01, the output should be 1 (not 6).


*Mikir* *Baca soal lagi* *Mikir keras*
(dalam hati) "INI GIMANA CERITANYA OUTPUTNYA JADI 1? KAN ADA 6 CARA? MASAK SALAH NGERTI SOAL SIH?" #emosi

Akhirnya setelah Rakina bilang bisa ngerjain A, aku nyerah dan cari soal lain. Rakina juga nerangin soal L kayak interval-interval apa gitu, cuma aku gak ngerti. Zamil terus bilang E kayaknya gampang, tapi aku gak yakin, dan yaudah dia ngerjain itu dulu. Lalu aku baca soal J. Wah, cuma rumus-rumus deret geometri terus pake mod inverse. Terus aku lupa rumus deret geometri. Jadinya nurunin rumus dulu. Habis itu, A buatan Rakina ngebug, dan jadinya aku minta dia ngeprint dulu, sementara aku kerjain J. Lalu, J - Super Sum Accepted!

Aku terus baca soal K, dan rasanya soal ginian familiar. Tapi habis nyoret-nyoret, ternyata soalnya beda :( Habis itu, aku baca soal L, karena kalo mirip sekelebat yang Rakina jelasin, dan karena TeamTam udah AC, harusnya ini doable. Turns out, selain ada input yang gak penting (agency), ini mirip soal yang pernah kubuat untuk Coderclass tahun ini :/ DP simple, statenya waktu. Karena paranoid, aku tambahin coordinate compression biar statenya gak terlalu banyak, terus submit, dan L - Tale of Happy Man Accepted!

Setelah itu, aku coba bantuin Rakina benerin A. Aku baca codingannya Rakina, dan baru ngeh statement yang bikin aku gak ngerti itu ternyata cuma perlu dibikin if --" Dia suspect kala baca inputnya bermasalah, jadi yaudah kami parse manual. Tapi tetep WA. Aku terus baca soal D. Hmm, mungkin DP on Tree. Tapi constraintnya gede gitu. Mikir bentar, baru nyadar kalau tree-nya gak penting :( dan ini jadi soal kombin yang klasik gitu :( aku coret-coret rumusnya dulu biar gak ngebug, terus ngoding, dan D - Pay Day Accepted!

Aku lalu balik ke soal A. Aku baca codingannya lagi, terus baru sadar: "Kin, kalo ada angkanya yang dobel kayak 03-03-03, lu keluarannya 6 gak sih? bukannya 1?" Dan kami jadi dapet pencerahan gitu :') Aku terus modifikasi kodingannya biar bisa handle itu, dan A - Confusing Date Format akhirnya AC :'))))

Meanwhile, Zamil pake komputer karena mau ngetes soal E. Dia bilang ada soal query-query gitu, yang artinya belum kubaca. Aku baca, dan ternyata soal F. Sekilas baca, keliatan kalau model soal binser. Terus binser satu-satu kelamaan, jadinya mikir, "ah ini kayaknya bisa parallel binser deh. Tapi napa query-nya bentuknya persegi semua ya?". Akhirnya, karena Zamil kayaknya butuh waktu, aku gusur (dan ini bakal terjadi berkali-kali dalam kontes ini), dan ngoding F. Untuk caranya, aku pakai BIT 2D untuk keep-track banyak bilangan yang nilainya <= x dalam suatu interval. Jadinya solusiku O((Q + N^2) log N log MAXVAL). Awalnya gak yakin AC, tapi bodo lah ya, submit aja. Dan kagetnya, F - The Cure AC! Yay ada first solve suatu soal :")))

Habis itu aku baca soal B, dan come up sama solusi yang O(N * length * 26 * log (N * length * 26)) pake hashing. Ngecek TL yang gede, aku cukup confident bisa lolos. Aku terus nggusur Zamil lagi (habis dia ngeprint codenya), terus coding B. Pas coding, Rakina nanya di cheatsheet ada theorem matik atau nggak. Seingetku sih ada, jadi kubilang iya. Terus dia nanya "lu tau McNugget nggak?".
.
.
.
.
Kenapa ini orang nanyain McD? Terus kukacangin dan lanjut ngerjain B. Habis selesai dan tes sample, submit. Terus TLE. Sad. Aku coba mikirin optimizenya, tapi gak dapet. Terus aku nanya ke Rakina dia lagi ngerjain soal apa. Ternyata soal I, dan itu soal yang dia nanya McNugget-McNugget itu. Aku baca deskripsi soalnya, intinya dikasih N bilangan prima, dan K, cari bilangan X terkecil, X >= K, sehingga X bisa dinyatakan sebagai kombinasi linier N bilangan tersebut, dengan konstanta pengalinya non-negatif. Terus Rakina jelasin kalo dia pernah baca McNugget's Theorem yang kayaknya bisa ngebantu ngerjain soal ini, tapi dia lupa theoremnya gimana. Habis ngecerna soalnya, baru nyadar kalo ini mirip parah sama soal pas Pelatnas 4 :'( pelajaran berharga: baca semua soal. Aku ngesolve dengan modelin ini sebagai shortest path, dengan vertexnya merupakan hasil modulo prima terkecil. Terus primanya juga udah dibikin unique, kompleksitasnya kurang lebih O(smallest_prime * (N + smallest_prime)), karena entah kenapa aku paka Dijkstra's O(V^2). Submit, dan I - Peculiar Microwave AC!

Habis itu Rakina bilang B harusnya bisa O(N * length * log (N * length)). Jadi dia ngereduce semua operasi jadi pakai delete, dan itu make sense. Jadi kalau insert, bisa dipandang dengan ngedelete dari string hasil insert. Terus substitue bisa dipandang sebagai banyak string lain yang setelah delete satu karakter, dan kita delete satu karakter dari string ini, hasilnya sama. Aku lalu modifikasi solusi, dan udah stres, kebiasaan namain variabel dengan kata kasar jadi keluar. Habis itu submit, dan ternyata masih TLE. Terus habis itu baru sadar ada double counting juga, tapi karena keluarnya TLE bukan WA, tetep aja bermasalah.

Karena Zamil masih berkutat di soal E, aku sama Rakina lalu coba kerjain soal lain. Kami lalu nyoba soal K. Rakina bilang pakai dp bitmask gitu, cuma kompleksitasnya O(N * 2^15), gak feasible. Tapi jadinya aku kayak dapet hint: Formulasikan dp[mask] sebagai banyak set yang unionnya hasilnya mask, dan anggotanya non-empty (bisa 1). Aku mikir, harusnya compute dp[mask] ini bisa dalam O(3^15). Jadinya, untuk ngitung dp[mask] kita bakal iterasiin per submask-nya dia untuk ngitung subproblemnya. Cuma, aku gak dapet cara untuk nge-enforce orderingnya biar gak double counting :( sekalinya dapet, brutal parah, jadi O(15^2 * 3^15), dan jelas TLE, tapi begonya kusubmit.

At this point karena pusing, aku lalu turun ke bawah buat sholat. Balik-balik, tetep nyoba mikir. Terus Rakina bilang soal C constraintnya aneh, mungkin bisa di-maxflow. Tapi aku gak dapet graph modelling-nya. Aku malah ngerasa ini bisa di-ternary search, cuma gak yakin. Ngeliat scoreboard udah ada yang AC, bodo lah ya, coba aja, gak bakal nyesel juga. Jadinya aku nyoba ternary search + DP on DAG. Pas ngoding, tau-tau udah masuk 1 jam terakhir. Submit. Nunggu. WTF, C - Stress Factor AC.


Habis lapor C AC, Zamil takeover komputer lagi. Aku lalu nyoret-nyoret soal K lagi. Seketika merasa bodoh: Gampang nge-enforce orderingnya. Seandainya mask kita pecah menjadi submask1 dan submask2, kita bisa menganggapnya kita menambahkan elemen dengan nilai submask1 ke dalam set dengan unionnya submask2. Bagaimana caranya supaya orderingnya fix? Kita cukup pastikan submask1 mengandung MSB dari mask, dan artinya submask1 selalu lebih besar dari submask2. Ini bisa berjalan dalam O(3^15), jadi aku langsung nggusur Zamil lagi dan ngoding K. Habis tes sample, aku submit, dan udah gak TLE. WA. dafuq. Baca codingan, ternyata lupa ngemod. goblok. Habis ngemod, submit, dan K - 2-ME Set AC! :')

Habis itu, aku keluar buat ngemil bentar. Lumayan ada minum sama snack enak. Terus aku masuk lagi. Pada tahap ini, untuk soal E aku percaya saja sama Zamil dan Rakina. Aku terus baca soal G. Gak ngerti, dan sekalinya ngerti pasti gak sempet. Baca soal H. gak ngerti juga. Yaudah deh ikut bantuin Zamil Rakina.

Aku gak ngerti mereka ngoding apaan, jadi aku cuma baca kemungkinan bugnya. Pas skimming codenya, anehnya aku gak baca ada kata mod sedikitpun. Padahal seingatku constraintnya sampe 10^9, yang artinya kasarannya jawabannya bisa 10^27. Aku tanya ke Zamil, dan responnya "astaga bener juga". Yey.

Lalu semua penghitungan kami kasih mod, terus submit. WA. asem. Baca-baca lagi, ada fungsi yang kayaknya balikin range, terus nanya Zamil, "ini emang boleh dimod ya?". Terus ternyata nggak :")) Habis ilangin mod di situ, submit lagi, dan AKHIRNYA E - Guessing Game AC!!! Aku seneng banget sampai ninju Zamil. Kalo gak AC sedih kan Zamil dari siang sampe sore cuma kerjain itu :'(

11 menit terakhir kami desperate ngedebug B, karena cuma itu harapan satu-satunya buat nambah AC. Tapi udah gak kuat, dan akhirnya kami berakhir dengan 6+3 AC. Alhamdulillah :') dan setelah ngitung aku ngoding 7 soal dan bantu debug 2 soal :O Harusnya lebih banyak memperbudak Rakina. Ngobrol sama Agus, dia bilang timnya AC 10 M(_ _)M

Keluar dari ruangan sambil membawa banyak balon, terus ngobrol sama yang lain bentar. Habis itu ketemu Pak Denny, lapor kalo nambah 3. Terus top 3 INC dipisah, disuruh makan bareng sponsor dan orang-orang penting lainnya. Awrakin makan bareng orang Tokopedia. Aku sendiri gak terlalu banyak ngomong, karena terlalu capek sama pusing. Cuma makan sama minumnya aja banyak :P

Setelah semua itu selesai, ternyata makan-makan yang seabrek - tahunan ICPC Jakarta - juga udah selesai :( Kami lalu ke auditorium, sambil ngambil pernak-pernik yang belum diambil kayak yang dari Tokopedia. Lagi-lagi aku nyempetin buat main SIF bentar. Terus pas acara penutupan, ada beberapa speech dan performance, ada speech dari Menkominfo (aku baru tau Menkominfo itu yang mana lel). Oh, selain itu ada lucky draw. Meh, event ginian gak mungkin aku menang sih. Selain stat luck-ku yang kecil parah, aku juga gak dapet nomornya :v Habis itu ada Contest Review dari Pak Suhendry. Terus pengumuman pemenang. Pengumumannya dimulai dari INC, jadinya kami maju karena peringkat 2. Yey hadiah!

Top 3 INC
Credits: Pak Denny

Setelahnya pengumuman ICPC. Unlike tahun sebelumnya, sekarang pakai resolver :O Lumayan lah seru ngeliat terbang-terbang. Pas run pertama, laptopnya entah kenapa mati atau ngehang gak merhatiin. Sedihnya, pas ngeproses WinRAR - Free Trial Forever. Udah saatnya kita bayar kayaknya.

Pas run kedua udah aman. Pas Awrakin diproses, awalnya B fail, terus terbang karena C. Okeh. Terus terbang lagi karena E :') At this point, kami paling atas di tim lokal :O Lalu untuk ketiga kalinya, kami terbang karena K, dan sekarang di posisi 4. Terus kegusur sekali, posisi 5. Was-was bisa 5 besar apa nggak, tergantung tim Running dari Universitas Keio. Dan ternyata, AWRAKIN RANK 5 :")))) Kami lalu maju untuk dapat hadiah Best National Team.

Best National :")
Credits: ICPC Regional Jakarta 2016
Hadiahnya gak kira-kira: 1 Drone, 1 Samsung Gear VR, sama Xiaomi yii (gak salah tulis kan ya?).  Habis itu pengumuman top 3 nya, dan hasil akhirnya:

  1. AcThPaUNpPuAmCmBkCfEsFmMdNoLr - National Taiwan University
  2. TeamTam - National University of Singapore
  3. LINUX - University of Engineering and Technology - VNU
Congrats!
Habis itu ada foto-foto lagi :D :
Sama Pak Menkominfo
Credits: Pak Denny

Cah UI
Credits: ICPC Regional Jakarta 2016
Hari sudah malam, sementara PR MD2 belum dikerjakan. Orang-orang UI lalu mencoba cabut. Tapi aku diajak Irvin buat foto bareng SC P1 2017. Jadi ya, kami foto dulu :')

SC P1 2017 - {Prabowo,Stacia}
Credits: Irvin
Setelah itu akhirnya beneran kembali ke Depok, kembali ke realita bahwa besok kuliah dan tugas belum dikerjakan.

In the end, terima kasih panitia yang sudah menyelenggarakan Regional ICPC yang bagus :") dan bisa tetap lancar walaupun hari sebelumnya ada kekacauan :"( Secara pribadi aku paling senang dengan Regional Jakarta, walaupun bisa saja ini karena aku memang belum ke banyak Regional lain :P

Terima kasih juga Rakina Zamil, dari INC, Gemastik, sama ICPC tahan setim sama orang kayak aku :') dari INC bikin banyak "dosa" (penalty), Gemastik nge-retard, dll. Yang jelas ICPC ini gak mungkin hasilnya sampe begini kalo gak ada kalian, tapi malas jabarin kenapanya huehue.

Seperti lomba biasanya, lesson learned, beberapanya:

  • BACA PETA DENGAN LEBIH TELITI
  • Biasakan ngertiin hampir semua soal untuk nentuin prioritas ngerjain -- I harusnya bisa lebih cepet disolve kalo gak terburu-buru ngerjain B
  • Harusnya Rakina bisa lebih banyak diperbudak
  • Biasakan mendengarkan, jangan seenak jidat ngejudge McNugget itu cuma dari McD
  • Nekat itu gak salah
  • Belajar sesuatu itu gak pernah rugi -- seandainya gak pernah belajar konsep Parallel Binary Search paling gak dapet F :")
 Trivia:

  • Supir busnya serem :(
  • Makna Nem_HCNU_Peno direveal sama Pak Suhendry. Sad.
  • Zamil ngeprint soal E tiap kali aku gusur. Total bisa 5-8 kali ngeprint.
  • Droneku sama Samsung Gear VR-nya Rakina dijadiin doorprize acara Pekan Ristek, walaupun masih gak terima kepada siapa Dronenya jatuh. Samsung Gear VR-ku nangkring di Ristek, karena di rumahku juga gak ada HP yang compatible.
  • Suvenir Tokopediaku hampir ketinggalan, untungnya dibawa Zamil :')
  • Sampai hari ini, sertifikat INC sama Gemastik punya Zamil sama Rakina masih di aku karena aku lupa ngasih. Padahal sebulan ada di tasku :v 
  • Jika dihitung di tingkat nasional, maka kami:
    • Peringkat 2 INC
    • Peringkat 3 Gemastik
    • Peringkat 1 (nasional) di Jakarta
    • :O
Sekian dulu kalik yah? Lanjutnya either ngebahas soal atau ngeblog Yangon. Yangon harus diblog sih, karena belum pernah ada perjalanan seabsurd itu dalam hidupku :)

Sabtu, 05 November 2016

Recap Sekian Bulan

Duh udah lama gak ngepost apa-apa :< Beberapa minggu yang lalu pengen ngeblog tentang soal CPC CompFest dan malah jadi wacana :' Anyway, post ini dibuat karena gak sengaja baca postnya Ammar di sini, dan kurasa aku agak terlalu capek dan sibuk main LLSIF, ketimbang bikib post mendetail, mungkin aku cuma bikin sedikit rekap event-event yang sudah berlalu~

  • [Early August] Rencana sering sepedaan dan renang jadi sedikit wacana, untung masih bisa berenang
  • [Mid August] H-1 Prelim CPC balik ke Depok, malamnya begadang ngurusin soal :< 
  • [Mid August] Prelim CPC! Ada beberapa masalah :< Untung bisa selesai :""
  • [Late August] Nee-san graduates, beberapa hari hedon di Depok berkat kehadiran ortu huehue. Ultah barbar bersama beberapa orang barbar
  • [Early September] Mendapat dorongan dari lubuk hati untuk membuat repository tentang CP di github. Sekarang hiatus. Sad
  • [Early September] For no reason nyoba main LLSIF. Sampe sekarang masih main lel
  • [Mid September] Nitip wibu stuffs ke Xing-Xing yang pergi ke AFAID. Selamat tinggal duit Pelatnas~
  • [Mid September] Gak tidur demi CPC :" Masalah muncul di mana-mana pas kontes. Absolutely one of my most depressing moment setelah gak bisa pergi ke OSN. Soal yang kubuat jadinya terlalu susah, tahun depan dimudahin deh :<
  • [Early October] Welcoming Party TOKI Alumni Biro UI! Diajak ngurusin tapi mostly gabut, maafkan :"" Free food xD
  • [Early October] (Ceritanya) ngajar di Pelatnas, walaupun aku cuma ngebacot gak jelas huehue
  • [Early October] INC 2016! Secara ajaib tim Awrakin bisa rank 2. Alhamdulillah, dengan banyaknya "dosa" yang kubuat masih bisa
  • [Late October] Finally yellow in CF! xD
  • [Late October] I think I performed poorly on my mid-term test :(
  • [Late October] Ristek - Kuikutsaja Rank 3 di Gemastik bidang pemrograman. Sejujurnya aku ngerasa performa kami harusnya bisa lebih baik lagi. Semoga buat ICPC Jakarta bisa lebih baik lagi
  • [Late October] Baru kali ini ngegacha yang agak hoki. Got 1 SR, 3 SSR, and 1 UR!
Ini sampe diketawain meja sebelah

Satu dari sekian barang. Thanks Xing-Xing!
Tenang, nggak dicolong

Image courtesy: Soko

Who knows taun depan gimana? :P
Image courtesy: Pak Denny




Ceritanya jadi pembina :P

Image courtesy: Pak Yugo

GG RNG

 As a side note, banyak sih yang aslinya pengen kutulis: Perjalanan IOI, ngeblog algo, ngisi github tadi, bikin post tentang pembuatan soalku di CPC (Belajar FPB was a rollercoaster ride :D), dll. Tapi entah kenapa sekarang rasanya mau nulis susah, kayak mendingan dipake istirahat atau hal lainnya :') Tambahan, sekarang highscore basket timezoneku 423 :') #roadto500 Oh, tambahan lagi. Jadi ceritanya ada deadline baca buat minggu depan, yang aku masih kurang 500 halaman. Terus senin ada deadline PR lain. Terus besok ICPC Jakarta, dan rasanya kayak gak ada persiapan. Udah, sekian.

:')


Sabtu, 27 Agustus 2016

A Little Note

  Jadi hari ini ceritanya resmi 19 tahun. Reaksiku:
  • Dafuq udah tua
  • Dafuq aku bisa bertahan hidup selama ini
Well, I guess not many people will understand why i write the second one. Ada beberapa hal yang harus dicatat mungkin untuk setahun terakhir ini:

  • Bisa kuliah :O
  • Bisa ikut lomba CP dan menang beberapa :O
  • Bisa jadi Scientific Committee di TOKI buat Pelatnas sama OSN :O
  • Bisa bikin soal CP :O
  • Bisa nyiapin kontes bersama yang lain :O
  • Tambah gendut :(
  • Tambah retard :(
  • Ndak kuning-kuning di CF :(
  • Koleksi rating change satu digit semakin banyak :(
  • Nyandu nonton anime :/
  • Nambah koleksi cerita retard buat anak cucu (kalo punya) ^^
Mungkin ada lagi yang harusnya dicatat, tapi yasudahlah. Aku juga aslinya bukan orang yang peduli masalah beginian sih :/

Yang lebih pengen kutulis, tentang kontes CP.

Beberapa waktu yang lalu, ada penyisihan CPC CompFest 8 kan ya? Mungkin sudah tahu, tapi aku jadi panitia di situ. Maafkan kalo masih banyak kekurangan pas kontes, semoga di final kontesnya bisa lebih baik lagi.

Dalam bikin kontes, salah satu yang sering kudenger: "Kontes yang bagus itu yang semua solve at least 1, semua solve ada yang solve, dan ga ada yang solve semua". Well, untuk kontes penyisihan kemaren, kami mencoba mempersiapkan dengan mempertimbangkan itu. Oiya, scoreboard akhirnya bisa dilihat di:

Mungkin bakal keliatan kalo yang SCPC ga ngikutin yang ditulis di atas (ada yang ga disolve), walaupun secara teknis, semua soal di penyisihan ini disolve setidaknya satu peserta (soal G SCPC juga muncul di JCPC, bedanya cuma di SCPC multi-tc).

Nah, kenapa aku bahas ini? Jadi, kemaren baru aja penyisihan Gemastik cabang pemrograman. Aku ikut sama Zamil dan Rakina, di tim Ristek - Kuikutsaja. Alhamdulillah, kemaren lagi ga retard, jadi hasilnya.. bisa dibilang memuaskan? Oh, dan soal-soalnya menurutku keren-keren :) dan aku cukup menikmati soal-soalnya.

Hal ini, membuatku berpikir lagi. Sebetulnya, target kontes itu apa? Kontes dengan hasil yang bagus seperti itu? Atau apa?

Aku yakin aku sudah sering mikir hal berikut, tapi mungkin kutulis di sini aja biar ntar di masa depan bisa bikin counter berapa kali mikir begini: "Yang penting yang ngerjain menikmati kontesnya. Entah karena kepuasan mendapatkan AC, atau karena mendapatkan sesuatu yang baru". Tentu saja, membuat kontes yang bagus berdasarkan kriteria di atas juga bisa dirasa cukup penting :P

Udah cukup kali ya ngebacot siang ini :P Semoga bisa nyiapin final CPC yang lebih baik dari penyisihannya >.< Dan bisa kagebunshin in case semua terlalu sibuk untuk live commentary >.<