特殊的大富翁
Submit solution
Points:
100
Time limit:
1.0s
Memory limit:
64M
Author:
Problem type
Allowed languages
C, C++, Java, Python
題目敘述
眾所周知,大富翁的棋盤是會繞圈的,也就是說:如果格子數是 \(n\),那當你從起點走了 \(n\) 步,你又會回到起點。
現在有一個特殊的大富翁,他上面的格子從起點開始依序被編號成 \(1, 2, \dots, n\) 。
當玩家停在每一個格子上時(包含遊戲開始停在第一格上時),他會有兩種選擇:
1. 直接移動到第 \(x_i\) 格
2. 向前移動 \(a_i\) 格
目前 yok 的位置在 \(1\),現在給你 yok 每次停下後的選擇,請幫他找到他最後停在哪一格。
輸入說明
第一行輸入一個正整數 \(n,q\) \((1 \leq n,q \leq 10^5)\),為棋盤上的格子總數及 yok 的選擇次數。
第二行有 \(n\) 個正整數 \(x_1, x_2, \dots, x_n\) \((1 \leq x_i \leq n, x_i \neq i)\),為在第 \(i\) 個格子選擇第一個移動方法會移動到的位置。
第三行有 \(n\) 個正整數 \(a_1, a_2, \dots, a_n\) \((1 \leq a_i \leq 10^9)\),為在第 \(i\) 個位子選擇第二個移動方法向前移動的步數。
第四行有 \(q\) 個正整數 \(t_1, t_2, \dots, t_q\) \((1 \leq t_i \leq 2)\),為在第 \(i\) 次停下後選擇的移動方法。
輸出說明
輸出只有一行,yok 最後停在的格子編號。
範例測資
範例輸入 1
5 2
2 3 4 5 1
10 2 5 8 4
2 1
範例輸出 1
2
提示
無
Comments