trang chủ / đề bài / dhbb21_10_ranking

Xếp hạng

Đề bài

Mô tả

Kỳ thi Duyên Hải đã trở thành một kỳ thi chất lượng và uy tín. Quy mô kỳ thi vượt qua ranh giới về mặt địa lý và đã thu hút nhiều tỉnh thành tham gia. Cùng với việc mở rộng về quy mô, kỳ thi cũng thay đổi hình thức thi. Kỳ thi Duyên Hải năm 2222, có n học sinh tham gia, các học sinh được đánh số từ 1 đến n. Tất cả các học sinh sẽ phải trải qua ba bài thi ở ba môn Lập trình tính toán, Trí tuệ nhân tạo và An toàn thông tin với thể thức như sau:

  • Với mỗi bài thi, khi các thí sinh thi xong, ban giám khảo sẽ tiến hành chấm điểm bằng nhiều tiêu chí nhằm đảm bảo rằng không có hai thí sinh bằng điểm. Ban giám khảo lập bảng xếp hạng các thí sinh trên từng môn thi riêng biệt và gửi lên Ban tổ chức ba dãy số (p1,p2,…,pn), (a1,a2,…,an), (s1,s2,…,sn) tương ứng là xếp hạng của ba môn Lập trình tính toán, Trí tuệ nhân tạo và An toàn thông tin. Các dãy số này đều là hoán vị của các số từ 1 đến n, với ý nghĩa: học sinh thứ i xếp thứ pi ở môn Lập trình tính toán, thứ ai ở môn Trí tuệ nhân tạo và thứ si ở môn An toàn thông tin.
  • Từ bảng xếp hạng của các môn, Ban tổ chức dùng phần mềm xếp hạng các thí sinh. Thí sinh thứ i có mức phân hạng là 2pi+2ai+2si và có thứ hạng chung cuộc được tính bằng số thí sinh có mức phân hạng nhỏ hơn cộng với 1. Theo cách xếp hạng của phần mềm, có thể có các thí sinh cùng thứ hạng.

Hiện tại, các thí sinh đã hoàn thành bài thi môn Lập trình tính toán và Trí tuệ nhân tạo, ban giám khảo đã chấm điểm và công bố bảng xếp hạng ở hai môn này. Tiếp theo, thí sinh chuẩn bị bước vào môn thi cuối cùng, môn An toàn thông tin. Để có được chiến lược thi phù hợp, mỗi thí sinh muốn biết thứ hạng chung cuộc tốt nhất và tồi nhất có thể của mình, sau khi môn thi cuối cùng diễn ra.

Yêu cầu: Cho biết thứ hạng của các thí sinh ở hai môn Lập trình tính toán và Trí tuệ nhân tạo, hãy giúp mỗi thí sinh tìm ra thứ hạng tốt nhất và tồi nhất chung cuộc có thể của mình khi xét trên mọi khả năng xảy ra đối với kết quả của môn An toàn thông tin (mọi hoán vị s của các số từ 1 đến n).

Dữ liệu vào

  • Dòng đầu chứa số nguyên dương n;
  • Dòng thứ hai chứa n số nguyên dương p1,p2,…,pn là một hoán vị của các số từ 1 đến n, mô tả thứ hạng của các thí sinh ở môn Lập trình tính toán;
  • Dòng thứ ba chứa n số nguyên dương a1,a2,…,an là một hoán vị của các số từ 1 đến n, mô tả thứ hạng của các thí sinh ở môn Trí tuệ nhân tạo.

Dữ liệu ra

In ra n dòng, dòng thứ i (1≤i≤n) gồm hai số nguyên dương bi,wi tương ứng là thứ hạng tốt nhất và tồi nhất chung cuộc có thể của thí sinh thứ i.

Ràng buộc

  • 1≤n≤2000.
  • p và a là hoán vị của các số từ 1 đến n.

Subtasks

Điểm được tính theo từng test.

  • Có 30% số lượng test ứng với 30% số điểm thỏa mãn điều kiện: n≤10;
  • Có 20% số lượng test khác ứng với 20% số điểm thỏa mãn điều kiện: n≤50;
  • Có 20% số lượng test khác ứng với 20% số điểm thỏa mãn điều kiện: n≤200;
  • Có 30% số lượng test còn lại ứng với 30% số điểm thỏa mãn điều kiện: n≤2000.

Ví dụ

Input Output Giải thích
3
1 2 3
2 1 3
1 2
1 2
3 3
Sau hai môn thi, tổng mức phân hạng của ba thí sinh tương ứng là 6,6,16. Có 6 khả năng cho môn An toàn thông tin: s=(1,2,3) cho mức phân hạng 8,10,24 và thứ hạng 1,2,3; s=(1,3,2): 8,14,20, thứ hạng 1,2,3; s=(2,1,3): 10,8,24, thứ hạng 2,1,3; s=(2,3,1): 10,14,18, thứ hạng 1,2,3; s=(3,1,2): 14,8,20, thứ hạng 2,1,3; s=(3,2,1): 14,10,18, thứ hạng 2,1,3. Như vậy học sinh thứ ba chắc chắn xếp thứ ba, còn hai học sinh kia có thể đứng thứ nhất hoặc thứ hai.
4
2 4 1 3
1 2 4 3
1 3
1 4
1 4
1 4
Ví dụ bổ sung (không có trong đề gốc). Sau hai môn, mức phân hạng là 6,20,18,16. Với học sinh 1, trường hợp tồi nhất là s1=4: mức 22; ba bạn còn lại nhận 1,2,3 nhưng 18+22=22 và 20+21=22 chỉ bằng chứ không nhỏ hơn 22, nên nhiều nhất hai bạn có mức nhỏ hơn (ví dụ s=(4,3,1,2) cho 22,28,20,20), thứ hạng tồi nhất là 3.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0