만드는 중입니다

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

던전 게임

시간 제한4초메모리 제한2048 MB

요약
영웅이 던전 x에서 힘 z로 출발할 때, 던전 n에 도달한 순간의 최종 힘을 질의마다 구합니다.
난이도

어려움10점 중 9점

유형
동적 계획법, 트리, 분할 정복
정답자
아직 제출이 없습니다

문제

Robert는 새로운 컴퓨터 게임을 설계하고 있다. 이 게임에는 영웅 한 명, 적 nn명, 그리고 n+1n + 1개의 던전이 있다. 적은 0부터 n−1n - 1까지, 던전은 0부터 nn까지 번호가 붙어 있다. 적 ii (0≤i≤n−10 \le i \le n - 1)는 던전 ii에 있고 힘은 s[i]s[i]이다. 던전 nn에는 적이 없다.

영웅은 힘 zz를 가지고 던전 xx에 들어가면서 시작한다. 영웅이 던전 ii (0≤i≤n−10 \le i \le n - 1)에 들어갈 때마다 적 ii와 맞붙고, 다음 중 하나가 일어난다.

  • 영웅의 힘이 적의 힘 s[i]s[i] 이상이면 영웅이 이긴다. 영웅의 힘은 s[i]s[i]만큼 늘어난다 (s[i]≥1s[i] \ge 1). 이때 영웅은 다음에 던전 w[i]w[i]에 들어간다 (w[i]>iw[i] > i).
  • 그렇지 않으면 영웅이 진다. 영웅의 힘은 p[i]p[i]만큼 늘어난다 (p[i]≥1p[i] \ge 1). 이때 영웅은 다음에 던전 l[i]l[i]에 들어간다.

p[i]p[i]는 s[i]s[i]보다 작을 수도, 같을 수도, 클 수도 있다. l[i]l[i]도 ii보다 작거나 같거나 클 수 있다. 적은 결과와 관계없이 힘 s[i]s[i]를 유지한 채 던전 ii에 남는다.

영웅이 던전 nn에 들어가면 게임이 끝난다. 영웅이 어느 던전에서 어떤 힘으로 시작하든 게임은 유한한 횟수의 전투 후에 끝난다.

Robert는 qq번의 시뮬레이션으로 이 게임을 테스트하려고 한다. 각 시뮬레이션은 시작 던전 xx와 시작 힘 zz를 준다. 각 시뮬레이션마다 게임이 끝났을 때 영웅의 힘을 구하라.

제한

  • 1≤n≤400 0001 \le n \le 400\,000
  • 1≤q≤50 0001 \le q \le 50\,000
  • 1≤s[i],p[i]≤1071 \le s[i], p[i] \le 10^7 (모든 0≤i≤n−10 \le i \le n - 1에 대해)
  • 0≤l[i],w[i]≤n0 \le l[i], w[i] \le n (모든 0≤i≤n−10 \le i \le n - 1에 대해)
  • w[i]>iw[i] > i (모든 0≤i≤n−10 \le i \le n - 1에 대해)
  • 0≤x≤n−10 \le x \le n - 1
  • 1≤z≤1071 \le z \le 10^7

예제1

  1. 예제 1

    입력
    1 1
    1
    1
    1
    0
    0 1
    
    예상 출력
    2