1 条题解
-
1
#include<bits/stdc++.h> using namespace std; int n,a,b,g[10005],d[10005],ans=INT_MAX,t=0; bool vis[10005]; void dfs(int x) { if(t>ans)return; if(x<1||x>n)return; if(vis[x]==1)return; if(x==b) { ans=min(t,ans); return; } vis[x]=1; int nx=g[x]+x; int zx=x-g[x]; t+=d[x]; dfs(nx); dfs(zx); t-=d[x]; vis[x]=0; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin>>n>>a>>b; for(int i=1; i<=n; i++) { cin>>g[i]; } for(int i=1; i<=n; i++) { cin>>d[i]; } dfs(a); if(ans==INT_MAX)cout<<"PPCQ"; else cout<<ans; return 0; }
- 1
信息
- ID
- 229
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- 递交数
- 11
- 已通过
- 3
- 上传者