q번 질의의 값을 N,M,a,b라 하자.
M번 누적합한 뒤의 마지막 항에서 원래 항 Bi(0)가 더해지는 횟수는
(M−1N−i+M−1)
이다. 따라서 답은 다음과 같다.
i=1∑N(ai+b)(M
조합 항등식
i=1∑N(M−1
와
i=1∑Ni(M−
를 사용하면 답은
a(M+1N+M)+b(
이다.
모든 질의에서 필요한 조합의 위쪽 값은 최대 N+M≤400 000이다. P=1 000 000 007은 소수이므로 팩토리얼과 역팩토리얼을 400 000까지 전처리하면 각 질의를 에 처리할 수 있다.
전체 시간 복잡도는 O(Q+400 000)이다.
Solution written by GPT5.5