Olimpiade Sains Nasional 2019 Bidang Informatika
Perbedaan dengan Peraturan OSN 2018 ditandai dengan warna merah.
A. Teknis Umum
- OSN Informatika 2019 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.
- Bahasa pemrograman yang diperbolehkan adalah C, C++, dan Pascal.
- Selama kompetisi, peserta hanya dapat melihat nilai diri 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 Pekanbaru, OSN 2017.
- 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: Daratan dan Es, OSN 2017.
- 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: Wisata Palembang, OSN 2016.
C. Penilaian Soal
- Terdapat 2 jenis penilaian: standar dan kreatif. Soal dengan penilaian kreatif akan dinyatakan secara eksplisit pada soal.
- Pada penilaian standar:
- 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 test group.
- Setiap test group termasuk ke dalam satu atau lebih subsoal.
- Untuk mendapatkan nilai pada suatu subsoal, peserta harus menyelesaikan seluruh test group yang termasuk pada subsoal yang bersangkutan, kecuali dinyatakan lain pada soal.
- Untuk menyelesaikan sebuah test group, peserta harus menyelesaikan seluruh kasus uji pada test group yang bersangkutan.
- Setiap soal mungkin memiliki beberapa subsoal terbuka yang mana 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 soal bertipe batch dan interactive:
- Pada penilaian kreatif:
- Penilaian akan diberikan relatif terhadap hasil yang diperoleh solusi juri.
- Rumus penilaian bervariasi untuk setiap soal, dan akan dinyatakan secara eksplisit pada soal.
- Contoh soal:
- Batch: Membaca, OSN 2012.
- Interactive: Cat Rumah, OSN 2014.
- Output-only: Wisata Palembang, OSN 2016.
D. Penilaian Peserta
Nilai peserta pada suatu soal merupakan nilai terbesar dari seluruh pengumpulan peserta pada soal tersebut.- 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 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 atas melebihi batas memori.
- TLE (Time Limit Exceeded): program melebihi batas waktu.
- Skipped: grading tidak dilakukan karena sudah ada kasus uji lain dalam test group yang sama yang tidak mendapatkan AC.
F. Klarifikasi
- Peserta dapat mengajukan klarifikasi soal
dalam 2 jam pertama setiap hari kompetisiselama kompetisi berlangsung. - Setiap klarifikasi hanya akan dijawab dengan salah satu dari balasan berikut:
- Ya
- Tidak
- Baca soal lebih teliti
- Tidak ada komentar
- Baca pengumuman
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.
Komputer
- Laptop Acer AMD A8
- 4 GB RAM
Sistem Operasi
- Ubuntu 18.04.2 LTS
Browser
- Mozilla Firefox
Aplikasi
- Gedit
- Geany
- Free Pascal IDE
Kompilator
- gcc 7.4
- g++ 7.4 (C++11)
- fpc 3.0
Debugger
- gdb 8.1
- valgrind 3.13
Dokumentasi
- http://sourceforge.net/projects/freepascal/files/Documentation/3.0.4
- http://upload.cppreference.com/mwiki/images/0/0f/html_book_20180311.zip
Berikut ini adalah spesifikasi sistem grader juri.
- Intel Xeon E5-2407 4 Core @ 2.2 GHz
- 32 GB RAM
- Ubuntu 18.04.2 LTS