Benchmark · coding
LiveCodeBench
LiveCodeBench menilai seberapa baik model bahasa besar menyelesaikan soal competitive programming, menggunakan tantangan koding yang dikumpulkan secara terus-menerus dari kompetisi terbaru untuk menghindari kontaminasi data pelatihan. Metrik utamanya adalah pass@1 — proporsi soal yang diselesaikan dengan benar pada percobaan pertama model.
Selengkapnya
- Contoh
- Contoh item yang umum adalah soal koding bergaya kompetisi — misalnya, diberikan sebuah array bilangan bulat, tulis sebuah fungsi yang mengembalikan panjang subbarisan naik ketat (strictly increasing) terpanjang — yang harus diselesaikan model dengan menghasilkan kode yang berfungsi.
- Penilaian
- Setiap solusi yang dihasilkan dijalankan terhadap kasus uji soal tersebut; pass@1 adalah fraksi soal yang pengiriman pertama modelnya lolos semua uji.
- Verifikasi
- Sebuah solusi diterima secara otomatis ketika kode yang dihasilkan lolos semua kasus uji tersembunyi dan publik untuk soal itu; tidak ada penilaian manusia maupun pencocokan teks persis.
- Mengapa penting
- Karena soalnya diambil dari kompetisi yang dirilis setelah batas waktu pelatihan sebuah model, LiveCodeBench mengukur kemampuan penalaran dan koding yang sebenarnya, bukan jawaban hafalan, sehingga menjadi tolok ukur keterampilan koding yang tepercaya dan tahan kontaminasi.
Contoh penyelesaian
Tugas
Gaya pemrograman kompetitif (stdin/stdout). Diberikan n bilangan bulat, hitung pasangan (i, j) dengan i < j sehingga nums[i] + nums[j] genap. Masukan: baris pertama n, baris kedua n bilangan bulat dipisah spasi; cetak jumlahnya.
Solusi
import sys
def main():
data = sys.stdin.read().split()
n = int(data[0])
nums = list(map(int, data[1:1 + n]))
odd = sum(x % 2 for x in nums)
even = n - odd
print(odd * (odd - 1) // 2 + even * (even - 1) // 2)
main()
Penjelasan
Suatu jumlah genap tepat ketika kedua sukunya berparitas sama, jadi jawabannya adalah C(evens, 2) + C(odds, 2); menghitung paritas berjalan dalam O(n). LiveCodeBench menjalankan program model terhadap uji unit tersembunyi dan menilainya dengan pass@1 — benar hanya jika semua uji lolos.