Lang:Java
Edit12345678910111213141516171819202122232425262728293031import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Queue;import java.util.Scanner;class Main {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();int[] a=new int[n];for(int i=0;i<n;i++) a[i]=sc.nextInt();int[] out=new int[n],num=new int[n];List<List<Integer>> in=new ArrayList<>();for(int i=0;i<n;i++) in.add(new ArrayList<>());for(int i=0;i<n;i++){out[i]=i+a[i];if(out[i]<n) in.get(out[i]).add(i);}for(int i=n-1;i>=0;i--){num[i]=out[i]>=n?1:(num[out[i]]+1);}int q=sc.nextInt();for(int query=0;query<q;query++){int x=sc.nextInt();if(x==1) {int y=sc.nextInt()-1;System.out.println(num[y]);}else {int u=sc.nextInt()-1,v=sc.nextInt();if(out[u]<n) in.get(out[u]).remove((Integer) u);