People Innovation Excellence
Home
Persyaratan
Jadwal
Silabus
Peraturan
Hadiah
Pendaftaran
Scoreboard Final
Peraturan
Tata Tertib
Peserta diwajibkan memakai pakaian yang rapi dan sopan
Tidak diperbolehkan memakai celana pendek atau rok pendek
Tidak diperbolehkan memakai sandal
Peserta diwajibkan membawa tanda pengenal (kartu pelajar/KTP)
Soal dan Jawaban Peserta
Peserta akan diberikan soal-soal pemrograman (
competitive programming
) dalam Bahasa Inggris dan Bahasa Indonesia.
Setiap soal yang diberikan terdiri dari:
Kepala Soal
– judul soal, batasan waktu, dan batasan memori.
Deskripsi Permasalahan
– latar belakang dan paparan permasalahan.
Spesifikasi Input
– spesifikasi format dan batasan input.
Spesifikasi Output
– spesifikasi format output.
Contoh Input/Output
– contoh input beserta output yang harus dihasilkan.
Program peserta harus membaca input dari
standard input
(stdin, default: keyboard) dan menulis output ke
standard output
(stdout, default: layar monitor).
Peserta bisa mengumpulkan (
submit
) solusi selama kontes berlangsung melalui sistem kontes yang disediakan, yaitu DOMJudge. Jawaban yang disubmit adalah
source code
dari program yang dibuat (.c/.cpp/.py/.java). Bahasa pemrograman yang disediakan adalah:
C,
C++17,
Python 2,
Python 3, dan
Java
Sistem sudah diinstalasi dengan compiler sebagai berikut:
C/C++17: GCC/G++ 9.3.0,
Java: Java 11.0.9, dan
Python: Python 2.7.18 and Python 3.8.5.
Semua solusi yang digunakan oleh tim juri adalah dalam C++17, dan mampu menyelesaikan semua soal yang ada. Perlu diperhatikan bahwa solusi dalam Python bisa saja lebih lambat dibandingkan dengan bahasa yang lain, sehingga dimungkinkan solusi dalam Python tidak memenuhi batas waktu yang diberikan meskipun menggunakan algoritma yang sama.
Program yang dikumpulkan peserta akan diuji kebenarannya dengan kasus uji (
testcase
) rahasia yang sudah dipersiapkan oleh juri sebelumnya. Kasus uji yang digunakan oleh juri dijamin sesuai dengan batasan input yang tertera pada soal.
Setiap program yang disubmit akan mendapatkan salah satu dari respon berikut:
ACCEPTED
– program Anda berjalan dalam batasan waktu dan memori tanpa adanya error, serta berhasil menyelesaikan semua kasus uji dengan benar sesuai dengan soal.
WRONG ANSWER
– program Anda berjalan sesuai dengan batasan waktu dan memori yang ditentukan, namun menghasilkan jawaban yang salah pada salah satu kasus uji.
RUNTIME ERROR
– program Anda mengalami crash (
runtime-error
) ketika dijalankan dengan kasus uji.
TIMELIMIT
– program Anda berjalan melebihi batas waktu yang ditentukan (program dihentikan secara paksa).
MEMORY-LIMIT
– program Anda berjalan melibihi batas memori yang ditentukan (program dihentikan secara paksa).
NO-OUTPUT
– program Anda tidak menghasilkan keluaran.
COMPILE-ERROR
– program Anda tidak bisa dikompilasi.
Peserta dapat menanyakan klarifikasi tertulis mengenai hal-hal (terkait soal, sistem kompetisi, dan sebagainya) yang dianggap kurang jelas melalui sistem yang disediakan. Setiap klarifikasi hanya berisi sebuah pertanyaan dalam format
yes-no question
. Tim juri akan menjawab klarifikasi dengan salah satu dari jawaban berikut:
Ya;
Tidak;
Baca soal lebih teliti;
Pertanyaan tidak jelas;
Tidak ada komentar;
Jawaban lain bila diperlukan;
Program yang disubmit tidak boleh:
mengakses jaringan,
melakukan forking,
membuat atau membuka file,
mengganti hak akses file,
membaca informasi file,
memanggil system call,
mengeksekusi program lain, dan
menyerang sistem keamanan grader.
Peserta yang melanggar peraturan yang tertera pada poin 9 akan didiskualifikasi dari lomba. Keputusan dari juri bersifat mutlak dan tidak dapat diganggu gugat.
Sistem Penilaian
Sistem penilaian yang digunakan oleh BNPCHS 2022 mengikuti standard dari ICPC-style, yaitu:
Peringkat peserta ditentukan berdasarkan:
Jumlah soal yang berhasil diselesaikan (
ACCEPTED
) terbanyak.
jika (i) sama, maka: penalti waktu terkecil.
jika (i) dan (ii) sama, maka: waktu submission terakhir untuk program yang
ACCEPTED
tercepat.
Penalti waktu adalah waktu submission untuk program yang
ACCEPTED
(dalam menit, dari kontes dimulai) ditambah dengan penalti 20 menit untuk setiap jawaban yang tidak mendapatkan
ACCEPTED
untuk soal tersebut, terkecuali untuk respon
COMPILER-ERROR
tidak mendapatkan penalti.
Setiap peserta hanya bisa mendapatkan 1 jawaban yang
ACCEPTED
untuk setiap soal; jawaban yang dikumpulkan untuk soal tersebut setelah soal tersebut mendapatkan
ACCEPTED
tidak akan diperhitungkan (benar maupun salah).
Peserta bebas memilih untuk mengerjakan soal manapun, dengan urutan apapun.
Babak Penyisihan
Babak penyisihan akan berlangsung secara
online
melalui alamat web yang akan diumumkan kemudian. Pastikan Anda sudah mendapatkan akun untuk
login
ke sistem yang digunakan sebelum sesi pemanasan dari babak penyisihan. Jika Anda belum mendapatkan akun, hubungi
contact person
.
Peserta akan diberikan
5 hingga 6 soal
pemrograman dengan durasi perlombaan selama
180 menit
.
Tersedia
scoreboard
yang bersifat publik dan dapat diakses oleh peserta.
Peserta diperbolehkan untuk mencari referensi, baik dari buku fisik, buku elektronik, maupun internet. Dimohon untuk tidak mengumpulkan program secara mentah dari referensi yang Anda rujuk, karena merupakan bentuk plagiarisme.
Selama kontes berlangsung, peserta tidak diijinkan untuk:
Berkomunikasi dengan semua orang (selain dengan tim juri hanya melalui sistem klarifikasi) dalam bentuk apapun dengan media komunikasi apapun;
Melakukan plagiarisme, baik terhadap program peserta lain maupun program yang Anda rujuk, seperti yang tertera pada poin 4;
Peserta yang terindikasi melanggar peraturan yang tertera pada poin 5 akan didiskualifikasi dari lomba. Keputusan juri bersifat mutlak dan tidak dapat diganggu gugat.
Peserta yang berhak mengikuti babak final adalah 40 peserta terbaik, dan 10 peserta terbaik dari SMA berbeda yang belum termasuk dalam 40 peserta terbaik dengan minimal 1 submission yang berstatus
ACCEPTED
.
Babak Final
Babak final akan dilaksanakan di Kampus Anggrek, BINUS University, Jakarta.
Peserta akan diberikan
9 hingga 11 soal
pemrograman dengan durasi perlombaan selama
5 jam
.
Peserta bisa menanyakan klarifikasi mengenai soal melalui sistem yang disediakan. Jika juri setuju bahwa terdapat ambiguitas pada soal, maka klarifikasi akan diberikan kepada seluruh peserta.
Scoreboard tidak akan diupdate (
frozen
) mulai dari menit ke-241 (60 menit menjelang akhir kontes). Peserta tetap dapat mengirimkan jawaban, dan respon dari grader tetap akan diberikan, namun hasilnya tidak akan ditampilkan di scoreboard.
Peserta diperbolehkan untuk membawa dan menggunakan alat tulis atau
printed material
seperti buku, kamus, atau salinan program (tertulis/tercetak) yang banyaknya tidak melebihi kapasitas kotak yang disediakan panitia (dimensi: 29 x 22 x 24 cm).
Selama kontes berlangsung, peserta tidak diijinkan untuk:
mengganggu peserta lain,
berdiskusi atau berbicara dengan peserta lain atau pembimbing,
membawa atau menggunakan
flash drive
,
disc/disk
, atau media sejenisnya yang dapat digunakan untuk menyimpan data
soft copy
,
membawa atau menggunakan alat elektronik bawaan sendiri.
melakukan tindakan penyontekan atau plagiarisme pada saat lomba berlangsung.
Peserta bisa menitipkan barang-barang bawaannya di loker yang tersedia di setiap ruangan lomba.
Refreshment
(snack dan minuman) akan disediakan oleh panitia di depan ruang lomba.
Keputusan juri bersifat mutlak dan tidak dapat diganggu gugat