JOI 2011 - IOI

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1300 (p) Thời gian: 1.0s Bộ nhớ: 64M Input: bàn phím Output: màn hình

Năm 20XX, IOI cuối cùng cũng được tổ chức tại nước JOI. Có \(K\) thí sinh tham gia, được đánh số từ \(1\) đến \(K\). Kỳ thi có tổng cộng \(N\) bài; ở mỗi bài, mỗi thí sinh nhận một số điểm nguyên từ \(0\) đến \(100\).

Huy chương được trao dựa trên tổng điểm của \(N\) bài. Cụ thể, quy tắc trao huy chương vàng như sau: gọi \(G\) là giá trị lớn nhất sao cho số thí sinh có tổng điểm ít nhất \(G\) chiếm ít nhất \(\frac{1}{12}\) tổng số thí sinh. Một thí sinh nhận huy chương vàng khi và chỉ khi tổng điểm của mình trong \(N\) bài ít nhất là \(G\).

Hiện tại đã thi xong \(M\) bài và điểm của các bài này đã được xác định. Khi xem tổng điểm hiện tại của mỗi thí sinh trên trang web IOI, bạn muốn biết ai chắc chắn nhận huy chương vàng và ai còn có khả năng nhận huy chương vàng.

Yêu cầu

Cho tổng điểm hiện tại của từng thí sinh, hãy liệt kê theo thứ tự số hiệu tăng dần những thí sinh chắc chắn nhận huy chương vàng, rồi những thí sinh có khả năng nhận huy chương vàng.

Dữ liệu vào

Đọc từ đầu vào chuẩn:

  • Dòng đầu chứa ba số nguyên \(K,N,M\), cách nhau bởi dấu cách: số thí sinh, tổng số bài và số bài đã thi xong.
  • \(K\) dòng tiếp theo chứa điểm của các thí sinh. Dòng thứ \(i+1\) \((1\le i\le K)\) chứa số nguyên \(P_i\), là tổng điểm hiện tại của thí sinh \(i\).

Dữ liệu ra

In ra đầu ra chuẩn theo định dạng sau:

  • \(a\) dòng đầu liệt kê số hiệu của những thí sinh chắc chắn nhận huy chương vàng, mỗi dòng một số, theo thứ tự tăng dần. Ở đây \(a\) là số thí sinh chắc chắn nhận huy chương vàng.
  • Dòng tiếp theo chứa chuỗi --------, gồm đúng tám dấu gạch nối.
  • \(b\) dòng tiếp theo liệt kê số hiệu của những thí sinh có khả năng nhận huy chương vàng, mỗi dòng một số, theo thứ tự tăng dần. Ở đây \(b\) là số thí sinh có khả năng nhận huy chương vàng.

Ràng buộc

  • \(1\le K\le100\,000\).
  • \(1\le N\le10\,000\,000\).
  • \(0\le M\le N\).
  • \(0\le P_i\le100\times M\) với mọi \(1\le i\le K\).

Thông tin kỹ thuật

Giới hạn của kỳ thi gốc: thời gian CPU \(1\) giây, bộ nhớ \(64\) MB.

Theo thông tin kỹ thuật của kỳ thi gốc, chương trình phải kết thúc bình thường với mã trả về \(0\). Một bộ dữ liệu chỉ được tính điểm khi chương trình đáp ứng giới hạn thời gian, bộ nhớ và cho kết quả đúng. Giới hạn ngăn xếp mặc định là \(8\) MB; cần tránh tràn ngăn xếp khi dùng đệ quy.

Khi cần xử lý số nguyên không vừa kiểu \(32\) bit, hãy dùng kiểu số nguyên \(64\) bit, chẳng hạn long long trong C/C++, với định dạng %lld cho scanfprintf. Với lượng dữ liệu vào/ra lớn, tài liệu kỹ thuật khuyến nghị dùng scanf/printf thay cho cin/cout để tránh chi phí vào/ra quá lớn.

Phân nhóm

Bài có tổng cộng \(100\) điểm, gồm \(10\) bộ dữ liệu, mỗi bộ \(10\) điểm.

  • Các bộ dữ liệu chiếm \(20\%\) tổng số điểm thỏa mãn \(K\le3\,000\).

Ví dụ

Ví dụ 1

Input
15 3 2
0
30
50
100
0
190
10
50
100
80
90
200
50
100
0
Output
12
--------
4
6
9
11
12
14

Ví dụ 2

Input
5 4 2
0
50
100
150
200
Output
--------
1
2
3
4
5

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: