比赛 COGS快乐周赛 评测结果 ATTTTTTTTT
题目名称 弹飞绵羊 最终得分 10
用户昵称 S.H.马卡卢索 运行时间 9.000 s
代码语言 C++ 内存使用 15.18 MiB
提交时间 2020-01-14 20:11:51
显示代码纯文本
#include<bits/stdc++.h> 
using namespace std;
int n,m;
int f[200010],t[200010];
int counttime(int k)
{
     if(k>n)  return 0;
     else  return 1+t[k+f[k]];
}
int main() 
{
    freopen("bzoj_2002.in","r",stdin);
    freopen("bzoj_2002.out","w",stdout);
    cin>>n;
    for(int i=0;i<n;i++)
        cin>>f[i];
    for(int i=n-1;i>=0;i--)
        t[i]=counttime(i);
    cin>>m;
    for(int i=1;i<=m;i++)
    {
    	int x,y,z;
    	cin>>x;
    	if(x==1)
        {
        	cin>>y;
        	cout<<t[y]<<endl;
        }
        else
        {
        	cin>>y>>z;
        	f[y]=z;
        	for(int i=y;i>=0;i--)
        	t[i]=counttime(i);
        }
    }

    return 0;
}