Trò chơi XOR

Đề bài

Mô tả

Cho bốn dãy số nguyên a, b, kp, mỗi dãy gồm n phần tử được đánh chỉ số từ 1 đến n. Dãy p là một hoán vị của các số nguyên từ 1 đến n.

Ban đầu người chơi được cho dãy a. Người chơi phải thực hiện đúng u thao tác liên tiếp lên dãy a. Ở mỗi bước được phép chọn một trong hai thao tác sau:

  • Thao tác 1: với mọi i, thay ai bằng aibi (phép XOR nhị phân).
  • Thao tác 2: với mọi i, thay ai bằng api+r. Tất cả các thay đổi được thực hiện đồng thời (dùng giá trị của dãy a ngay trước thao tác).

Sau khi thực hiện xong đúng u thao tác, số điểm người chơi nhận được bằng

s=i=1nki·ai.

Hãy tìm số điểm lớn nhất mà người chơi có thể đạt được.

Dữ liệu vào

  • Dòng đầu chứa ba số nguyên n, ur.
  • Dòng thứ hai chứa n số nguyên là dãy a.
  • Dòng thứ ba chứa n số nguyên là dãy b.
  • Dòng thứ tư chứa n số nguyên là dãy k.
  • Dòng thứ năm chứa n số nguyên là dãy p (một hoán vị của 1..n).

Dữ liệu ra

Một số nguyên duy nhất: số điểm lớn nhất đạt được.

Ràng buộc

  • 1n,u30
  • 0r100
  • 1ai,bi104
  • |ki|104
  • p là hoán vị của 1..n.

Ví dụ

Input Output Giải thích
3 2 1
7 7 7
8 8 8
1 2 3
1 3 2
96 Thực hiện thao tác 1 rồi thao tác 2. Sau thao tác 1: a=[15,15,15]. Sau thao tác 2 (với p=[1,3,2], r=1): a=[16,16,16]. Điểm =1·16+2·16+3·16=96.
2 1 0
1 1
1 1
1 -1
1 2
0 Chỉ có 1 thao tác. Thao tác 1 cho a=[0,0] (điểm 0); thao tác 2 cho a=[1,1] (điểm 11=0). Giá trị lớn nhất là 0.
1 1 0
1
2
-1
1
-1 Thao tác 1 cho a=[3] (điểm 3); thao tác 2 cho a=[1] (điểm 1). Kết quả tốt nhất là 1: số điểm có thể âm.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0