Peraturan KSN 2021 Bidang Informatika

Perbedaan dengan Peraturan KSN Informatika 2020 ditandai warna merah.

A. Teknis Umum

  1. KSN 2021 Bidang Informatika terdiri atas 1 hari uji coba dan 2 hari kompetisi.
  2. Hasil pada hari uji coba tidak termasuk dalam penilaian.
  3. Pada setiap hari kompetisi, terdapat 3 buah soal yang diujikan selama 5 jam.
  4. Setiap peserta mendapatkan jatah sebanyak 50 kali pengumpulan untuk setiap soal. Jatah ini bisa saja ditambahkan untuk beberapa soal tertentu.
  5. Bahasa pemrograman yang diperbolehkan adalah C dan C++.
  6. Selama kompetisi, peserta hanya dapat melihat nilainya sendiri.


B. Tipe Soal

  1. Terdapat 3 tipe soal yang mungkin diujikan: batch, interactive, dan output-only. Mungkin saja terdapat tipe soal yang tidak diujikan.

  2. Pada soal bertipe batch:
    1. Peserta membuat sebuah program yang membaca masukan kasus uji dari stdin dan mencetak jawaban ke stdout.
    2. Program harus mengeluarkan jawaban dalam batas waktu dan memori yang dinyatakan pada soal.
    3. Contoh soal: Online Ojek, OSN 2018.
  3. Pada soal bertipe interactive:
    1. 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.
    2. Program harus mengeluarkan jawaban dalam batas waktu dan memori yang dinyatakan pada soal.
    3. Contoh soal: Detecting Gold, OSN 2019.
  4. Pada soal bertipe output-only:
    1. Peserta diberikan seluruh masukan dari kasus-kasus uji soal.
    2. Peserta menjawab dengan mengirimkan beberapa berkas keluaran yang sudah dikompres.
    3. Peserta tidak harus membuat program untuk menghasilkan berkas-berkas keluaran (boleh dikerjakan secara manual).
    4. Contoh soal: OSN Excursion, OSN 2019.


C. Penilaian Soal

  1. Terdapat 2 jenis penilaian: standar dan kreatif. Soal dengan penilaian kreatif akan dinyatakan secara eksplisit pada soal.

  2. Pada penilaian standar:
    1. Untuk soal bertipe batch dan interactive:
      1. Setiap soal terdiri atas beberapa subsoal dengan bobot nilai yang bervariasi.
      2. Setiap soal terdiri atas beberapa kasus uji yang dikelompokkan ke dalam beberapa test group.
      3. Setiap test group termasuk ke dalam satu atau lebih subsoal.
      4. Untuk mendapatkan nilai pada suatu subsoal, peserta harus menyelesaikan seluruh test group yang termasuk pada subsoal yang bersangkutan, kecuali dinyatakan lain pada soal.
      5. Untuk menyelesaikan sebuah test group, peserta harus menyelesaikan seluruh kasus uji pada test group yang bersangkutan.
      6. Setiap soal mungkin memiliki beberapa subsoal terbuka yang isi kasus-kasus ujinya diberikan kepada peserta, sehingga memungkinkan dikerjakan secara manual.
    2. Untuk soal bertipe output-only:
      1. Setiap soal terdiri atas beberapa kasus uji dengan bobot nilai yang bervariasi.
      2. Untuk mendapatkan nilai pada suatu kasus uji, peserta harus menyelesaikan kasus uji tersebut.
  3. Pada penilaian kreatif:
    1. Penilaian akan diberikan relatif terhadap hasil yang diperoleh solusi juri.
    2. Rumus penilaian bervariasi untuk setiap soal, dan akan dinyatakan secara eksplisit pada soal.

    3. Contoh soal:


D. Penilaian Peserta

  1. Pada soal bertipe batch dan interactive:
    1. Pada penilaian kreatif, untuk setiap pengumpulan, nilai pada suatu subsoal adalah nilai minimum di antara seluruh kasus uji yang dicakup pada subsoal tersebut.
    2. Nilai akhir pada suatu subsoal adalah nilai maksimum subsoal tersebut di antara seluruh pengumpulan.
    3. 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.

  2. Pada soal bertipe output-only:
    1. Nilai akhir pada suatu kasus uji adalah nilai maksimum kasus uji tersebut di antara seluruh pengumpulan.
    2. Nilai peserta pada suatu soal merupakan jumlah nilai akhir seluruh kasus ujinya.
  3. Total nilai peserta adalah total nilai yang didapatkan pada seluruh soal pada seluruh hari kompetisi.
  4. Peserta akan diurutkan peringkat berdasarkan total nilai (semakin besar, semakin bagus).
  5. Dua peserta yang memiliki total nilai yang sama akan mendapat peringkat yang sama.
  6. Waktu pengumpulan tidak berpengaruh sama-sekali pada peringkat peserta.


E. Sistem Grading

  1. Sistem grading yang digunakan adalah TLX.
  2. Besarnya berkas source code yang boleh dikumpulkan untuk setiap soal maksimum 300 KB.

  3. Untuk setiap kasus uji, balasan grader yang mungkin adalah:
    1. AC (Accepted): program berhasil menyelesaikan kasus uji dalam batas waktu dan memori.
    2. WA (Wrong Answer): program berhenti dalam batas waktu dan memori, namun menghasilkan keluaran yang salah.
    3. RTE (Runtime Error): program crash atas melebihi batas memori.
    4. TLE (Time Limit Exceeded): program melebihi batas waktu.
    5. Skipped: grading tidak dilakukan karena sudah ada kasus uji lain dalam test group yang sama yang tidak mendapatkan AC.


F. Klarifikasi

  1. Peserta dapat mengajukan klarifikasi selama kompetisi berlangsung.
  2. 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.
  3. Jawaban dari klarifikasi bisa saja mempunyai informasi tambahan jika sekiranya diperlukan.


Peraturan pelaksanaan kompetisi secara daring lebih didetailkan di bagian Peraturan Kompetisi Daring.