give654   1년 전

첫번째 태스크를 수행하는 코드의 로직은 다음과 같습니다.

A에서 i번째 비트를 가지는 원소의 갯수 * B에서 i번째 비트를 가지는 원소의 갯수 * 2 ^ i (0-based)

두번째 태스크를 수행하는 코드의 로직은 다음과 같습니다. (검색해서 힌트 받고 떠올렸습니다)

i번째 비트가 0인 A의 원소들 중의 최소, 최대 값

i번째 비트가 1인 A의 원소들 중의 최소, 최대 값

i번째 비트가 0인 B의 원소들 중의 최소, 최대 값

i번째 비트가 1인 B의 원소들 중의 최소, 최대 값

위의 값들을 전부 구해줍니다.

이후 

A0 최소 + B0 최소  >= 2^i

A0 최대 + B1 최대 < 2^(i + 1)

A1 최대 + B0 최대 < 2^(i + 1)

A1 최소 + B1 최소 >= 2^i + 2^(i + 1)

위의 4가지 조건을 전부 만족하면 i번째 비트를 결과에 추가해줬습니다.

그러나 약 73% 에서 틀리는데, 정말 왜 틀리는지 모르겠습니다.

도와주시면 감사하겠습니다.

give654   1년 전

반례 찾았습니다

1

268435456

268435456

댓글을 작성하려면 로그인해야 합니다.