trang chủ / đề bài / voi15_divide

Chia phần

Đề bài

Mô tả

Vinh và Sơn có N đồng tiền cổ, N là số chẵn. Ta tạm đánh số các đồng tiền cổ này theo thứ tự 1,2,…,N. Đồng tiền thứ i Vinh định giá nó là ai còn Sơn định giá nó là bi.

Vinh và Sơn tiến hành phân chia số tiền này, lần lượt thực hiện N2 lượt. Ở lượt chơi thứ t, Sơn lấy ra 2 đồng tiền, Vinh sẽ lấy đồng tiền nào có giá trị lớn hơn trong 2 đồng tiền theo như Vinh định giá, và Sơn sẽ lấy đồng tiền còn lại.

Sơn biết tất cả các số ai,bi (i=1,2,…,N) và mỗi bước Sơn được quyền chọn cách lấy 2 đồng tiền tùy theo ý thích của mình. Hãy giúp Sơn tiến hành việc phân chia các đồng tiền sao cho tổng giá trị các đồng tiền Sơn nhận được là lớn nhất có thể.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên dương chẵn N là số đồng tiền.
  • Dòng thứ 2 chứa N số nguyên dương a1,a2,…,aN, mỗi số không vượt quá 400000.
  • Dòng thứ 3 chứa N số nguyên dương b1,b2,…,bN, mỗi số không vượt quá 400000.

Dữ liệu ra

  • Dòng đầu tiên ghi ra tổng số tiền lớn nhất mà Sơn nhận được.
  • N2 dòng tiếp theo, mỗi dòng ghi cặp 2 chỉ số các đồng tiền mà Sơn lấy ra theo đúng thứ tự mỗi lượt thực hiện chia phần. Nếu có nhiều phương án, in ra 1 phương án bất kì.

Ràng buộc

  • 2≤N≤5000, N chẵn.
  • 1≤ai,bi≤400000.
  • Các giá trị a1,a2,…,aN đôi một khác nhau (nên trong mỗi lượt, đồng tiền Vinh lấy được xác định duy nhất).

Subtasks

  • Subtask 1 (30% số điểm): N≤5000 và ai=bi với i=1,2,…,N.
  • Subtask 2 (30% số điểm): N≤20.
  • Subtask 3 (40% số điểm): N≤5000.

Mỗi subtask gồm nhiều test, mỗi test được chấm điểm riêng.

Ví dụ

Input Output Giải thích
6
6 10 11 18 5 14
1 7 6 12 15 1
28
5 1
3 6
2 4
Lượt 1: Vinh lấy đồng 1 (a1=6>a5=5), Sơn được đồng 5 (15). Lượt 2: Vinh lấy đồng 6, Sơn được đồng 3 (6). Lượt 3: Vinh lấy đồng 4, Sơn được đồng 2 (7). Tổng 15+6+7=28.
4
3 1 4 2
2 9 7 8
17
4 1
2 3
Sơn giữ đồng 2 và đồng 4 (9+8). Đồng 3 có a lớn nhất nên Sơn không bao giờ giữ được nó.

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