Olimpiade Sains Nasional 2024 Bidang Informatika
A. Teknis Umum
- OSN 2024 Bidang Informatika terdiri atas 1 hari uji coba dan 2 hari kompetisi.
- Hasil pada hari uji coba tidak termasuk dalam penilaian.
- Pada setiap hari kompetisi, terdapat 3 buah soal yang diujikan selama 5 jam.
- Setiap peserta mendapatkan jatah sebanyak 50 kali pengumpulan untuk setiap soal. Jatah ini bisa saja ditambahkan untuk beberapa soal tertentu.
- Bahasa pemrograman yang diperbolehkan adalah C++.
- Selama kompetisi, peserta hanya dapat melihat nilainya sendiri.
B. Tipe Soal
-
Terdapat 3 tipe soal yang mungkin diujikan: batch, interactive, dan output-only. Mungkin saja terdapat tipe soal yang tidak diujikan.
- Pada soal bertipe batch:
- Peserta membuat sebuah program yang membaca masukan kasus uji dari stdin dan mencetak jawaban ke stdout.
- Program harus mengeluarkan jawaban dalam batas waktu dan memori yang dinyatakan pada soal.
- Contoh soal: Pertahanan Bogor, OSN 2023.
- Pada soal bertipe interactive:
- Peserta membuat sebuah program yang berinteraksi dengan program juri: program juri memberikan keluaran ke stdout, yang menjadi masukan stdin untuk program peserta, kemudian program peserta memberikan keluaran ke stdout, dan seterusnya, untuk mencapai tujuan tertentu yang dinyatakan pada soal.
- Program harus mengeluarkan jawaban dalam batas waktu dan memori yang dinyatakan pada soal.
- Contoh soal: Pengiriman Satu Hari, OSN 2023.
- Pada soal bertipe output-only:
- Peserta diberikan seluruh masukan dari kasus-kasus uji soal.
- Peserta menjawab dengan mengirimkan beberapa berkas keluaran yang sudah dikompres.
- Peserta tidak harus membuat program untuk menghasilkan berkas-berkas keluaran (boleh dikerjakan secara manual).
- Contoh soal: Pertahanan Negara, KSN 2020.
C. Penilaian Soal
- Untuk soal bertipe batch dan interactive:
- Setiap soal terdiri atas beberapa subsoal dengan bobot nilai yang bervariasi.
- Setiap soal terdiri atas beberapa kasus uji yang dikelompokkan ke dalam beberapa subsoal.
- Untuk mendapatkan nilai pada suatu subsoal, peserta harus menyelesaikan seluruh kasus uji yang termasuk pada subsoal yang bersangkutan, kecuali dinyatakan lain pada soal.
- Setiap soal mungkin memiliki beberapa subsoal terbuka yang isi kasus-kasus ujinya diberikan kepada peserta, sehingga memungkinkan dikerjakan secara manual.
- Untuk soal bertipe output-only:
- Setiap soal terdiri atas beberapa kasus uji dengan bobot nilai yang bervariasi.
- Untuk mendapatkan nilai pada suatu kasus uji, peserta harus menyelesaikan kasus uji tersebut.
- Untuk setiap soal, penilaian juga bisa diberikan relatif terhadap hasil yang diperoleh solusi juri, atau sesuai dengan rumus yang diberikan.
- Rumus penilaian akan dinyatakan secara eksplisit pada soal.
- Contoh soal:
- Batch: Tukar-Tukar, OSN 2013.
- Interactive: Pengiriman Satu Hari, OSN 2023.
- Output-only: Pertahanan Negara, KSN 2020.
D. Penilaian Peserta
- Pada soal bertipe batch dan interactive:
- Pada penilaian kreatif, untuk setiap pengumpulan, nilai pada suatu subsoal adalah nilai minimum di antara seluruh kasus uji yang dicakup pada subsoal tersebut.
- Nilai akhir pada suatu subsoal adalah nilai maksimum subsoal tersebut di antara seluruh pengumpulan.
- Nilai peserta pada suatu soal merupakan jumlah nilai akhir seluruh subsoalnya.
Sebagai contoh, jika pengumpulan pertama mendapatkan nilai 30 pada subsoal pertama dan nilai 0 pada subsoal kedua, dan pengumpulan kedua mendapatkan nilai 0 pada subsoal pertama dan nilai 40 pada subsoal kedua, maka nilai peserta pada soal ini adalah 70.
- Pada soal bertipe output-only:
- Nilai akhir pada suatu kasus uji adalah nilai maksimum kasus uji tersebut di antara seluruh pengumpulan.
- Nilai peserta pada suatu soal merupakan jumlah nilai akhir seluruh kasus ujinya.
- Total nilai peserta adalah total nilai yang didapatkan pada seluruh soal pada seluruh hari kompetisi.
- Peserta akan diurutkan peringkat berdasarkan total nilai (semakin besar, semakin bagus).
- Dua peserta yang memiliki total nilai yang sama akan mendapat peringkat yang sama.
- Waktu pengumpulan tidak berpengaruh sama-sekali pada peringkat peserta.
E. Sistem Grading
- Sistem grading yang digunakan adalah sistem serupa TLX.
- Besarnya berkas source code yang boleh dikumpulkan untuk setiap soal maksimum 300 KB.
- Untuk setiap kasus uji, balasan grader yang mungkin adalah:
- AC (Accepted): program berhasil menyelesaikan kasus uji dalam batas waktu dan memori.
- WA (Wrong Answer): program berhenti dalam batas waktu dan memori, namun menghasilkan keluaran yang salah.
- RTE (Runtime Error): program crash atau melebihi batas memori.
- TLE (Time Limit Exceeded): program melebihi batas waktu.
- Skipped: grading tidak dilakukan karena sudah ada kasus uji lain dalam subsoal yang sama yang tidak mendapatkan AC.
F. Klarifikasi
- Peserta dapat mengajukan klarifikasi selama kompetisi berlangsung.
- Setiap klarifikasi yang berhubungan dengan soal hanya akan dijawab dengan salah satu dari balasan berikut:
- "Ya"
- "Tidak"
- "Jawaban terdapat pada deskripsi soal"
Deskripsi soal telah mengandung informasi yang cukup. Peserta diimbau untuk membaca ulang soal dengan lebih teliti. - "Pertanyaan tidak valid"
Pertanyaan tidak bisa dijawab dengan jawaban Ya/Tidak. Peserta disarankan untuk mengulangi pertanyaannya. - "Tidak ada komentar"
Peserta menanyakan informasi yang tidak bisa diberikan jawabannya.
- Jawaban dari klarifikasi bisa saja mempunyai informasi tambahan jika sekiranya diperlukan.
G. Lain-Lain
- Peserta tidak boleh menggunakan barang-barang pribadi ke dalam tempat lomba, kecuali maskot kecil dan alat-alat tulis.
- Apabila terjadi hal-hal yang tidak terduga (misalnya: mati listrik, jaringan internet terputus dan lain-lain), maka panitia memiliki hak diskresi untuk menambah waktu kompetisi menjadi lebih lama dari 5 jam, sesuai yang diperlukan.
- Peserta yang melakukan kecurangan akan mendapatkan sanksi berupa nilai 0 atau bahkan didiskualifikasi. Kecurangan misalnya, namun tidak terbatas, pada:
- Melakukan komunikasi dengan peserta lain atau juri selama kompetisi berlangsung di luar sistem yang telah disediakan.
- Mengakses akun peserta lain.
- Mengakses komputer atau jaringan lain selain yang diperbolehkan.
- Mencoba untuk mengakses root komputer.
- Mencoba untuk merusak sistem grader.
- Mengganggu peserta lain.
H. Spesifikasi Teknis
Berikut ini spesifikasi komputer setiap peserta.
Sistem Operasi
- Windows 10
Browser
- Google Chrome
Aplikasi
- Geany
- Dev-C++
- Visual Studio Code
Kompilator
- g++ 11 (MinGW)
Debugger
- gdb
Dokumentasi
I. Spesifikasi Grader
Mesin
- DigitalOcean general purpose dedicated droplet, Intel 2 cores @ 2.5 GHz
- 2 GB RAM
Kompilator C++
- g++ 11