{"problem":{"name":"[AGM 2023 资格赛] 反转","description":{"content":"给定长度为 $N$ 的序列 $a$ 满足每个数都小于 $2^K$。你需要执行恰好 $P$ 次操作，每次操作是把其中一个数的某一个二进制位反转。最终你需要使得  $$\\sum_i\\sum_j a_i\\oplus a_j(i<j)$$ 最大，其中 $\\oplus$ 为按位异或运算。","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":2000,"memory_limit":524288},"difficulty":{"LuoguStyle":"P4"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGP9277"},"statements":[{"statement_type":"Markdown","content":"给定长度为 $N$ 的序列 $a$ 满足每个数都小于 $2^K$。你需要执行恰好 $P$ 次操作，每次操作是把其中一个数的某一个二进制位反转。最终你需要使得 \n\n$$\\sum_i\\sum_j a_i\\oplus a_j(i<j)$$\n\n最大，其中 $\\oplus$ 为按位异或运算。\n\n## Input\n\n第一行包含整数 $N、K、P$，保证 $1≤N≤10^5,1≤K≤30,1≤P≤N\\times K$。\n\n下一行包含 $N$ 个整数，即序列 $a$。对于所有 $1≤i≤N$，保证 $0≤a_i<2^K$。\n\n## Output\n\n$P$ 行，每行包含两个整数 $i$ 和 $j$，满足 $1≤i≤N, 0≤j<K$，表示数字 $a_i$ 的第 $j$ 位反转。即 $a_i\\leftarrow a_i \\oplus 2^j$。\n\n**你可以多次反转同一个位。如果有多个使总和最大化的解输出任意一个即可。**\n\n[samples]","is_translate":false,"language":"English"}],"meta":{"iden":"LGP9277","tags":["2023","Special Judge","O2优化","AGM"],"sample_group":[["2 5 1\n0 31","1 0"],["4 2 2\n0 0 2 2","4 0\n3 0"],["5 6 4\n63 15 0 10 5\n","5 5\n4 5\n4 4\n5 4"]],"created_at":"2026-03-03 11:09:25"}}