예를 들어 7 | 1 | 2 = 7 이잖아
이 상태에서 7을 해제하고, 1 | 2 = 3 이 값만 남기고 싶음.
즉 (7 | 1 | 2) ^ (1 << 2) 를 하고 싶단 건데...
문제는 시프트 연산을 안하고 할 수 있는 방법이 있냐란 거임
예를 들어 7 | 1 | 2 = 7 이잖아
이 상태에서 7을 해제하고, 1 | 2 = 3 이 값만 남기고 싶음.
즉 (7 | 1 | 2) ^ (1 << 2) 를 하고 싶단 건데...
문제는 시프트 연산을 안하고 할 수 있는 방법이 있냐란 거임
없지
https://www.acmicpc.net/problem/24023
이거 투포인터로 접근하고 있는데 힌트좀
or했을때 k가 나오려면 k의 submask만 골라야 함. k의 submask를 포함하지 않는 구간 중에는 가장 긴 구간을 고르는게 무조건 더 유리함. 즉, 고려해야 할 구간의 갯수가 O(n)이 되고 브루트포스 하면 됨
풀었다.. 간단한 문제였네 ㄱㅅ