package main import . "fmt" func main() { var n,k int Scan(&n,&k) a := make([]int, n) x := 0 for i := range a { Scan(&a[i]) x ^= a[i] } a = append(a, x) Println(a[(k-1)%(n+1)]) } /* 考察 定義から A[N+1] = A[1] xor A[2] xor ... xor A[N] つまり A[N+2] = A[2] xor ... xor A[N] xor A[N+1] = A[2] xor ... xor A[N] xor (A[1] xor A[2] xor ... xor A[N]) = A[1] 同様に A[N+3] = A[3] xor ... xor A[N] xor A[N+1] xor A[N+2] = A[3] xor ... xor A[N] xor (A[1] xor A[2] xor A[3] xor ... xor A[N]) xor A[1] = A[2] A[1]からA[N+1]を繰り返すだけ */