B. Xor

хугацааны хязгаарлалт 4 секунд

санах ойн хязгаарлалт 256 мегабайт

оролт стандарт оролт

гаралт стандарт гаралт

Жон-д 4-н массив байгаа: $a$, $b$, $k$, мөн $p$. Энэ бүгд нь $n$ бүхэл тоо хадгалах ба $1$-ээс эхлэн дугаарлагдсан байна. $p$ массив нь $1$-ээс $n$ хүртэлх тооны сэлгэмэл байна.

Жон найздаа болон өөртөө тоглоом зохион бүтээжээ. Эхлээд тоглогч $а$ гэсэн массив авна. Мөн $а$ массивд яг $u$ үйлдлийг дарааллан хийнэ. Хийж болох үйлдлүүд:

  • Үйлдэл 1: бүрийн хувьд $a_{i}$-г -аар солино. илэрхийлэл нь 2-тийн ХОR үйлдэл юм. (C++ "^"-г ашиглан XOR үйлдэл хийнэ)
  • Үйлдэл 2: бүрийн хувьд $a_{i}$-г $a_{p_{i}} + r$-аар солино. Энэ үйлдлийг хийхэд бүх элемент зэрэг солигдно.

Бүх $u$ үйлдэл дууссаны дараа тоглогчийн авсан нийт оноо байна.

Жон хамгийн ихдээ хэдэн оноо авч болохыг хүсчээ. Түүнд туслаарай.

Оролт

Эхний мөрөнд зайгаар тусгаарлагдсан $n$, $u$ ба $r$ ($1 ≤ n, u ≤ 30$, $0 ≤ r ≤ 100$) бүхлэ тоонууд байрлана-- массивууд дахь элементийн тоо, үйлдлийн тоо ба 2 дахь үйлдлийг тодорхойлсон тэр тоо.

Дараагийн дөрвөн мөрөнд зайгаар тусгаарлагдсан $n$ бүхэл тоо байна. -- харгалзан $a$, $b$, $k$, $p$ массивууд юм.

$а$ болон $b$ массивийн элементүүд нь эерэг ба $10^{4}$ $(1 ≤ a_{i}, b_{i} ≤ 10^{4})$-аас хэтрэхгүйгээр өгөгднө. $k$-ийн элементүүд $10^{4}$-аас хэтрэхгүй бас абсолют утгаараа $(|k| ≤ 10^{4})$ байна. $p$ нь $1$-ээс $n$ тооны сэлгэмэл байна.

Гаралт

Тоглогч авч чадах хамгийн их оноог хэвлэ.

C++ хэл дээр 64-битийн тоо хэрэглэх үед %lld-г хэрэглэхгүй байхыг зөвлөж байна. %I64d, эсвэл cin, cout стриймийг ашиглана уу.

Орчуулсан: Бат-Од

Жишээ тэстүүд

Оролт
3 2 1
7 7 7
8 8 8
1 2 3
1 3 2
Гаралт
96
Оролт
2 1 0
1 1
1 1
1 -1
1 2
Гаралт
0

Тэмдэглэл

Эхний жишээнд эхний үйлдийг эхлэн хийгээд хоёрдахь үйлдлийг дараа нь хийнэ.

Сэтгэгдлүүдийг ачааллаж байна...