Loading Now

scoreSubmit

Hệ thống Codelearn tính điểm khi nộp bài như sau:

  • Không vượt qua một test, điểm nhận được là m / 2
  • Không vượt qua hai test, điểm nhận được là m / 4
  • Không vượt qua hơn hai test, sẽ không nhận được điểm

Biết rằng không vượt qua một test có thể là quá thời gian thực thi hoặc kết quả sai. Thời gian tối đa thực thi cho toàn bộ test là t (ms), kết quả mong muốn cho test i là ei. Sau khi nộp bài, ứng với mỗi test i sẽ gồm hai giá trị [x, y] trả về. Với x là kết quả sau khi thực thi, y là thời gian thực thi test ấy (ms). Tất cả được lưu trong r. Số điểm tối đa cho bài đó là m. Bạn hãy tính xem, sau khi nộp bài, bạn nhận được bao nhiêu điểm ( được làm tròn đến phần thập phân thứ 2 ). Bài này chỉ xét kết quả của testcase là số nguyên, không xét chuỗi, …

Ví dụ:

  • Với m = 100, t = 500, e = [5,2,3,5], r = [[5,300], [2,100], [4,100], [5,900]] thì kết quả score_submit(m, t, e, r) = 25.00
    Giải thích:
    • Test 1, 2 ta đều vượt qua
    • Test 3, kết quả sai
    • Test 4, quá thời gian thực thi
    • Vì sai 2 test nên số điểm ta nhận được bằng m / 4 = 25.00

Đầu vào/Đầu ra:

  • [Thời gian chạy] 0.5s với C++, 3s với Java và C#, 4s với Python, Go và JavaScript.

  • [Đầu vào] integer m, t.
    ≤ m, t ≤ 105
  • [Đầu vào] array of integer e.
    ≤ e.size ≤ 105

  • [Đầu vào] matrix of integer r.
    r.size = e.size
    r[i].size = 2
  • [Đầu ra] float.
    Số điểm nhận được ( làm tròn đến phần thập phân thứ 2 )

Post Comment

Contact