만드는 중입니다

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

수열의 비밀 (Hard)

면접 대비

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

요약
a_2i와 a_2i+1이 a_i의 일차식으로 정해지는 수열에서 처음 2^k-1개 항의 합을 10^9+7로 나눈 나머지를 구합니다.
난이도

보통10점 중 5점

유형
분할 정복, 재귀, 수학
정답자
아직 제출이 없습니다

문제

다음 조건을 만족하는 길이가 nn인 수열 a_1,a_2,a_3,…,a_na\_1, a\_2, a\_3, \ldots, a\_n이 있다.

  • a_2i=p⋅a_i+qa\_{2i} = p \cdot a\_i + q (2≤2i≤n)(2 \leq 2i \leq n)
  • a_2i+1=r⋅a_i+sa\_{2i+1} = r \cdot a\_{i} + s (3≤2i+1≤n)(3 \leq 2i+1 \leq n)

S_n=a_1+a_2+…+a_nS\_n=a\_1+a\_2+\ldots +a\_{n}으로 정의할 때 S_nS\_n을 109+7{10^9+7}로 나눈 나머지를 출력하라.

입력

첫 번째 줄에 양의 정수 kk가 주어진다. (n=2k−1)(n=2^k-1)

두 번째 줄에 양의 정수 p,q,r,sp,q,r,s가 공백으로 구분되어 주어진다.

세 번째 줄에 양의 정수 a_1a\_1이 주어진다.

출력

첫 번째 줄에 S_nS\_n을 109+7{10^9 + 7}로 나눈 나머지를 출력한다.

제한

  • 1≤k≤501\leq k\leq 50
  • 1≤p,q,r,s≤1001\leq p,q,r,s\leq 100
  • 1≤a_1≤101\leq a\_1\leq 10

힌트

연산 과정에서 C/C++의 int 범위를 넘을 수 있으므로 long long 자료형을 사용하는 것을 추천한다.

예제1

  1. 예제 1

    입력
    3
    2 1 1 2
    1
    
    예상 출력
    31