People Innovation Excellence
Home
Persyaratan
Jadwal
Peraturan
Hadiah
Pendaftaran
Peserta Final
Peraturan Final
Scoreboard Qualification
Scoreboard Final
Peraturan
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 2021 mengikuti stAndard dari ACM-ICPC, 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.
Babak Final
Babak final akan berlangsung secara
online
melalui alamat web yang sama dengan babak penyisihan. Akun yang Anda gunakan adalah akun yang sama dengan babak penyisihan.
Peserta akan diberikan
8 hingga 12 soal
pemrograman dengan durasi perlombaan selama
300 menit
.
Terdapat sistem
proctoring
melalui zoom yang wajib diikuti oleh peserta. Peraturan detil mengenai sistem
proctoring
akan dijelaskan secara terpisah dan menyusul.
Tersedia
scoreboard
yang bersifat publik dan dapat diakses oleh 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 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 6;
Peserta yang terindikasi melanggar peraturan yang tertera pada poin 7 akan didiskualifikasi dari lomba. Keputusan juri bersifat mutlak dan tidak dapat diganggu gugat.
Banyaknya pemenang dan medali, beserta dengan hadiah untuk para pemenang akan dijelaskan secara terpisah dan menyusul.