만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

튜링의 도전

시간 제한1초메모리 제한1024 MB

요약
정수 X와 N이 주어질 때, 항들의 곱을 4로 나눈 나머지가 2가 되도록 인덱스를 고르고, 그 인덱스 합의 최댓값을 구합니다.
난이도

보통10점 중 7점

유형
정수론, 비트 연산, 그리디
정답자
아직 제출이 없습니다

문제

크누스가 튜링의 회고록을 읽다가 튜링이 후계자에게 남긴 흥미로운 문제를 발견했다. 크누스는 최고의 제자인 당신에게 이 문제를 푸는 프로그램을 작성하라고 맡겼지만, 성과는 자신의 것으로 하려고 한다. 크누스와 논문을 공저하는 것이 컴퓨터 과학자에게는 에르되시와 논문을 공저하는 것이 수학자에게 갖는 의미와 같으므로, 당신은 이 부탁을 받아들였다. 크누스를 도와 튜링의 문제를 풀어라.

양의 정수 XX와 NN이 주어졌을 때, 집합 TT를 다음과 같이 정의한다. T={T_i∣1≤i≤N+1}T = \left\{ T\_i | 1 \le i \le N + 1\right\}이고, T_i=(Ni−1)Xi−1T\_i = \binom{N}{i-1}X^{i-1}이다.

목표는 S⊆{i∣1≤i≤N+1}S \subseteq \{i|1 \le i \le N + 1\}이고 ∏_i∈ST_i≡2(mod4)\prod\_{i\in S}{T\_i} \equiv 2 \pmod{4}를 만족하는 집합 SS를 고르되, 원소의 합이 최대가 되도록 하는 것이다. 다시 말해, (1+X)N(1 + X)^N의 이항 전개에서 항들을 골라 그 곱을 4로 나눈 나머지가 2가 되게 하고, 고른 항들의 번호 합을 최대로 만드는 것이다.

그 최대 합을 구하라.

입력

첫 줄에 질의의 개수를 나타내는 양의 정수 qq (1≤q≤5001 \le q \le 500)가 주어진다. 이어지는 qq개의 줄에는 각각 공백으로 구분된 두 정수 XX와 NN (1≤X<2311 \le X < 2^{31}, 1≤N<2311 \le N < 2^{31})이 주어진다.

출력

각 질의마다 최대 합을 한 줄에 출력한다. 그러한 부분집합이 없으면 00을 출력한다.

예제1

  1. 예제 1

    입력
    3
    3 5
    1 4
    4 6
    
    예상 출력
    18
    9
    0