JOI 2011 - IOI
Xem PDFNă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 scanf và printf. 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
Kỳ thi:
- JOI 2011 Representative Selection - Ngày 4 (12 Tháng 1., 2016)
Bình luận